2010-03-15 3 views
4

Есть ли способ Android для загрузки файлов KML из Google Earth в виджет карты?Поддерживает ли API Android файлы KML?

В частности, я ищу для загрузки сохраненных фигур, созданных в Google Планета Земля, на максимально возможной основе. Кто-нибудь когда-либо пробовал это раньше?

ответ

5

Это старый вопрос, но этот ответ может быть полезен, если кто-то случайно наткнется на него.

Вы хотите добавить программный файл kml в программный фрагмент карты внутри приложения? Если это так, вы можете использовать этот метод.

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

} 

Недостатком является то, что вы мало контролируете, как отображается слой kml. Вы можете найти полную ссылку здесь: https://developers.google.com/maps/documentation/android-api/utility/kml

Вы также можете попытаться проанализировать файл kml на POJO с помощью JAK и JAXB и программно сделать эти данные. Если вы можете заставить его работать, это относительно безболезненно. https://labs.micromata.de/projects/jak.html

-1

Похоже, вы можете загружать файлы KML на карту, но нет никакого программного доступа, как вы могли бы получить от libkml.

+0

Не могли бы вы немного расширить свой ответ? Фрагмент кода? – DannyThunder

Смежные вопросы