J'ai chargé un fichier KML sur un appareil Android. Quel est le mécanisme le plus simple pour charger une superposition de ce fichier KML dans Google Maps? Je ne souhaite pas télécharger le fichier KML sur le Web, mais ouvrez-le plutôt localement.
Pour charger kml dans Google Maps sur Android sans écrire d'application , vous pouvez créer un petit fichier html quelque part avec un lien géo-uri vers le fichier kml, puis cliquez sur ce lien dans un navigateur Web Android.
Par exemple: supposez que votre fichier kml se trouve dans / sdcard/overlay.kml alors vous écrivez un lien géo-uri comme ceci:
<html>
<head><title>Example KML link page using a geo-uri</title></head>
<body>
<a href="geo:0,0?q=file:///sdcard/overlay.kml">overlay.kml</a>
</body>
</html>
Cliquez sur le lien pour lancer Maps, puis Maps tentera de charger et votre kml.
(Évidemment, si votre fichier kml est sur un serveur Web, la partie file: // peut être remplacée par http: // servername)
Soyez averti cependant que la version Android de Maps ne semble pas gérer la même version/plage d'éléments kml que la version de bureau (ou le bureau Google Earth).
Je ne peux pas parler des anciennes versions de Android, mais sur Nexus 4 avec Android 4.2.2 c'est très simple:
Dans Earth, vous pouvez également appuyer sur n'importe quel objet KML pour afficher les informations associées (le cas échéant, elles sont stockées dans le fichier KML).
File KML = new File("/sdcard/doc.kml");
Intent i = getPackageManager().getLaunchIntentForPackage("com.google.earth");
i.setDataAndType(Uri.fromFile(KML), "xml");
startActivity(i);
source: http://enladodelbien.blogspot.com/2015/06/kmlkmz-to-google-earth.html
En supposant que vous êtes d'accord pour afficher votre KML sur OpenStreetMap au lieu de Google Maps, vous pouvez également utiliser osmdroid + OSMBonusPack ( https://github.com/MKergall/osmbonuspack ).
Selon ce que vous voulez faire:
Vous pouvez simplement utiliser l'application de démonstration "OSMNavigator" pour charger et afficher votre fichier KML sur la carte (KML peut être local ou à partir d'une URL).
Ou vous pouvez utiliser la bibliothèque OSMBonusPack dans votre application pour afficher votre contenu KML comme vous le souhaitez.