Comment importer, créer et utiliser des fichiers de suivi GPX et KML dans App Inventor Map Le lecteur/créateur de fichiers GPX/KML permet d'importer des cartes d'itinéraires créées avec des GPS Garmin ou des pages web publiant des itinéraires de randonnée kml (tracés de randonnée, etc.). App Inventor utilise une chaîne de caractères (LineString) pour afficher un tracé similaire. Un fichier GPX ou KML peut être converti en un ensemble de points de localisation, chargé dans une chaîne de caractères (LineString) et enregistré pour une utilisation ultérieure dans le dossier Documents de l'appareil. testgpx720 × 1600 108 Ko (fichier gpx de l'exemple d'extension Django) dRoute720 × 1600 188 Ko (fichier kml de l'exemple d'extension Django) Comment les développeurs utilisent les fichiers kml et gpx pour distribuer/afficher les pistes cartographiques | Utilisation des fichiers GPX et KML pour la randonnée | Navigation de randonnée 22 Autres liens intéressants KML'nizi Barındırmak için Google Sites'ı Kullanma | Langage de balisage en trou de serrure | Google pour les développeurs 5https://www.alltrails.com/ 2 Ce tutoriel explique comment télécharger un fichier gpx ou kml sur votre ordinateur et l'utiliser dans App Inventor avec une extension gratuite. comment copier un fichier gpx ou kml de vos ressources vers le dossier Document partagé sur votre Android 10 ou supérieur. comment capturer et enregistrer une piste en tant que piste LineString et la convertir en un fichier gpx ou kml qui peut être partagé à l'aide du LocationSensor comment créer et enregistrer une piste à l'aide de l'écran Carte pour créer une liste de points en sélectionnant des coordonnées sur la carte comment lire un fichier de piste gpx ou kml et l'afficher sur la carte sous forme de LineString L' exemple de lecteur/créateur de fichiers GPX/KML utilise l' extension DjGPXTools 1/1/2021 version 2. Pour éviter les problèmes lors de l'expérimentation avec l'exemple d'application : N'exécutez PAS l'aia depuis l'aia Companion. CRÉEZ l'apk en utilisant Build>Android App (.apk) (voir ci-dessous). L'écran du designer gpxDesigner1201×926 330 Ko Voici la présentation du Designer. Elle présente les commandes et extensions utilisées pour construire le projet. Les outils ---------- Les outils permettant de copier, d'afficher, de créer et de capturer des fichiers sont présentés ci-dessus et décrits ci-dessous.Les outils de création et de capture permettent d'afficher ou de masquer ces deux outils selon vos besoins. Comment les fichiers de suivi créés par des sources externes peuvent être déplacés vers l'exemple d'application de lecture/création de fichiers GPX/KML . Copiez les fichiers de piste des ressources que vous fournissez dans le dossier Téléchargements du système. Vous pouvez supprimer les fichiers kml et gpx existants du dossier Documents Android. Utilisez une application de manipulation de fichiers (j'utilise Mes Fichiers ) ; Vous pouvez redémarrer votre Android. Vous devez supprimer les fichiers kml/gpx indésirables du dossier Documents si vous n'avez pas suivi les conseils ci-dessus et créé des instances du fichier de tracé kml ou gpx dans Documents à l'aide d'une autre application ou d'une version de cette application avec Companion. Si vous ne supprimez pas les documents, certains fichiers d'Assets ne seront pas répliqués s'il existe un fichier du même nom. Ces fichiers ne seront donc pas reconnus par l'application. Si l'application tente d'ajouter le fichier depuis Assets, celui-ci apparaîtra dans Documents, mais ne sera pas reconnu. Lors de la compilation ultérieure de l'APK, l'application d'exemple ne pourra pas lire les fichiers de Documents avec le programme compilé, car ils sont créés avec Companion. Pour pouvoir lire les fichiers stockés, votre application compilée doit d'abord les créer. Elle ne peut pas accéder aux fichiers du dossier Documents créés avec d'autres applications ou Companion. Seuls les fichiers créés par l'application sont reconnus. Ce comportement est dû au respect de la politique de sécurité de Google concernant les fichiers non créés par l'application que vous codez et développez. Ajoutez vos fichiers kml et gpx aux ressources multimédias du projet . Ce n'est qu'ensuite qu'ils pourront être copiés dans Documents via l'application. Trois exemples de fichiers sont déjà présents dans les ressources, ce qui vous donne une longueur d'avance. Glissez-déposez plusieurs de vos fichiers kml externes dans Media pour les rendre accessibles à votre application. Malheureusement, vous ne pouvez pas simplement copier les fichiers kml/gpx dans le dossier Documents et espérer qu'ils soient utilisables avec l'application compilée . Les fichiers utilisables doivent être créés avec l'application compilée. Utilisez le bouton « Copier les ressources dans les documents » pour copier tous les fichiers GPX et KML placés dans vos ressources vers le dossier « Documents ». Sinon, votre ListPicker ne pourra sélectionner aucun fichier de tracé tant que vous n'y aurez pas copié les ressources KLM ou GPX, sauf si vous utilisez les options « Créer » ou « Capturer » et stockez les fichiers créés par ces outils. À ce stade, vous pouvez utiliser l'explorateur de fichiers de votre appareil pour vérifier quels fichiers sont désormais enregistrés dans le dossier Documents. Seuls les fichiers créés avec l'application compilée peuvent être lus par l'application. dossier de documents360×800 26,9 Ko Capture de mon fichier du dossier Documents. Utiliser pour afficher les pistes sur App Inventor médias360×800 16,9 Ko Sélectionnez le fichier GPX ou KML à afficher à l'aide d'un ListPicker copierAssetsToDocuments609×628 42,2 Ko ![dRoute|225x500] ====================== Another way to get kml or gpx files created by other apps to work with Django's extension is solved in Part II of this tutorial How to import, create and use gpx and kml track files using App Inventor Map Part II Use SAF extension to select kml/gpx files stored in your Documents folder 12 Kml or gpx files dragged to the Documents folder using USB to transfer the files are not recognized by the app this tutorial creates. several links discuss the SAF extension which might be feasible to read outside kml/gpx files: See KML File storage - #8 by Anke 4How do you read an "alien" file from Download under SDK 30? - #4 by Alexandre_Gorine 1How do you read an "alien" file from Download under SDK 30? Create a new kml or gpx file with the example app--------------- The Map1.DoubleTapAtPoint block can be used to generate a LineString by adding coordinates or adapt the code to also use a Point List you create using outside data to make a LineString. The LineString is saved as a kml or gpx file to Documents folder and can be viewed using the ListPicker. createTool709×151 30.5 KB Enable the DoubleTapAtPoint feature using the Switch. The Create LS switch must be ON to add coordinates. The switch needs to be OFF when not in use. Select the coordinates you want using double tap to create a LineString. Enter a name for the track. The file will not save if there isn't a file name entered. Use one of the Create buttons to save the track as a kml or gpx ( the track name must not be empty.) washPlus2720×1600 165 KB An example is the Washington.kml example Capture a kml or gpx file track using the LocationSensor and LineString----------- The LineString is populated by gps coordinates as the Android device changes location (or thinks it is changing location). This feature can be used to store the routes/tracks in your version of the app. It can SAVE the routes you make while using your gps and saving them as a kml or gpx file that your app can return to. Start/Stop enables/disables the gps. It will take a while to start generating the track. The GPS needs to provide at least two satellite fixes and location changes. GPS as gpx creates a gpx from the track made so far (the LineString ). Enter track name to provide a name for the file. The button will not save the track if it is unnamed. GPS as kml creates and saves a kml from the track made so far (the the LineString) if the enter track name contains a name for the file. Blocks to Capture from your gps Exporting/Importing Garmin gpx or kml files.------------------- A way to acquire Garmin gpx files for download to your computer is described in support.garmin.com Mobile: Importing and Exporting | Garmin Customer Support 1 Garmin Support Center is where you will find answers to frequently asked questions and resources to help with all of your Garmin products. The tutorial example app is possible because of the availability of two extensions: Taifun File extension App Inventor Extensions: File | Pura Vida Apps 11 . (I unsuccessfully tried using the File component Legacy/Shared Scoped method.) [FREE]DjGPXTool extension [FREE]DjGPXTool extension - Extensions - Kodular Community 25 (this is a Kodular extension that works with App Inventor; be aware the example extension aia pointed to does not work with App Inventor. How Django's__Extension works: -ReadGPX/ReadKML: enter the full path of your GPX or KML file (e.g. storage/emulated/0/yourfile.gpx)-GPXRead/KMLRead: returns a list of lat/lng pairs.-CreateGPX/CreateKML: fileName ( e.g. /storage/emulated/0/yourTrack.gpx) createGpxCode783×386 25.4 KB name: Name of your track points: enter the list of your lat/lng coordinates-GPXCreated/KMLCreated: returns: path to the written GPX or KML file. result: as String. size: amount of coordinates. Testing ------------------------------ The app was only tested on a Samsung A13, Android 13. How it will perform with different Android versions and devices is unknown. Questions ------------------- Can all gpx or kml files others publish be rendered into a Points file and LineString? No. Some might be too complex for the extension algorithms. Can the SAF extension or the File control be used to build something similar? Yes, see Part II of this tutorial. How do you build your own app to use Django's extension? Download both Taifun's and Django's extensions; start a Project; import the extensions and start programming. You possibly do not need all the features available in the example. What happens if you do not copy external tracks to Documents? Essentially nothing, you can still use the tools to create and capture tracks. Will you have to turn your device off after you manually delete files from Documents created either using Companion or from an outside source? Probably. This is true when using my Samsung A13; it might not be required using your Android. For some reason, deleting files using My Files fails to remove them until a device reset. Are there bugs? I hope not but one never knows. I did not code all error control possible. Credits:------------- Thanks to Taifun and Django for their extensions. I hope developers can make use of the techniques used in the tutorial in their Hiking and tracking apps. AIA for GPX / KML File Reader/Creator app.**GPX_KML_DemoDocuments.aia (103.7 KB) To avoid problems experimenting with the example app: DO NOT run the aia from the Companion aia. BUILD the apk using Build>Android App (.apk) (see above). Regards,SteveJG
Aucun commentaire:
Enregistrer un commentaire