Pregunta

¿Hay una manera de Android para cargar archivos KML de Google Earth en un widget de mapa?

En concreto Busco para cargar formas guardados creados en Google Earth overtop un widget de mapa tan fácilmente como sea posible. A nadie le ha intentado esto antes?

¿Fue útil?

Solución

Es una vieja pregunta, pero esta respuesta podría ser de alguna utilidad si alguien pasa a tropezar con él.

¿Quiere añadir el archivo KML en un MapFragment dentro de una aplicación mediante programación? Si es así, puede utilizar este método.

 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();
    }

}

La desventaja es que tiene poco o ningún control sobre cómo se visualiza la capa KML. Se puede encontrar una referencia completa aquí: https://developers.google.com / maps / documentation / android-api / utilidad / kml

También puede tratar de analizar el archivo KML a un POJO usando JAK y JAXB y extraer los datos mediante programación. Si se puede conseguir que funcione es relativamente indolora. https://labs.micromata.de/projects/jak.html

Otros consejos

Parece que se puede cargar archivos KML en un mapa, pero no hay acceso mediante programación al igual que se podrían obtener de libkml.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top