Question

Est-il possible dans Android pour charger des fichiers KML de Google Earth dans un widget carte?

Plus précisément, je suis à la recherche charger des formes enregistrées créées dans Google Earth overtop un widget carte aussi facilement que possible. Quelqu'un at-il déjà essayé auparavant?

Était-ce utile?

La solution

Il est une vieille question, mais cette réponse pourrait être utile si quelqu'un arrive à tomber par hasard sur elle.

Voulez-vous dire ajouter le fichier kml sur un mapfragment dans une application par programme? Si oui, vous pouvez utiliser cette méthode.

 private void loadKml(File file) {

    try( InputStream inputstream = new FileInputStream(file) ) {

        // Set kmllayer to map
        // map is a GoogleMap, context is the Activity Context

        KmlLayer layer = new KmlLayer(map, inputstream, context);

        layer.addLayerToMap();



    // Handle these errors

    } catch (FileNotFoundException e) {

        e.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();

    } catch (XmlPullParserException e) {

        e.printStackTrace();
    }

}

L'inconvénient est que vous avez peu à aucun contrôle quant à la façon dont la couche kml est affichée. Vous pouvez trouver une référence complète ici: https://developers.google.com / cartes / documentation / android-api / utilitaire / kml

Vous pouvez également essayer d'analyser le fichier kml à un POJO en utilisant JAK et JAXB et d'en tirer les données d'un programme. Si vous pouvez le faire fonctionner, il est relativement indolore. https://labs.micromata.de/projects/jak.html

Autres conseils

Il semble que vous pouvez charger des fichiers KML sur une carte, mais il n'y a pas d'accès programmatique comme vous obtiendriez de libkml.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top