Есть ли способ в Android загружать файлы KML из Google Earth в виджет карты?
В частности, я ищу для загрузки сохраненных фигур, созданных в Google Планета Земля, как можно проще. Кто-нибудь когда-либо пробовал это раньше?
Есть ли способ в Android загружать файлы KML из Google Earth в виджет карты?
В частности, я ищу для загрузки сохраненных фигур, созданных в Google Планета Земля, как можно проще. Кто-нибудь когда-либо пробовал это раньше?
Это старый вопрос, но этот ответ может быть полезен, если кто-то случайно наткнется на него.
Вы хотите добавить программный файл 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
Похоже, вы можете загружать файлы KML на карту, но нет никакого программного доступа, как вы могли бы получить от libkml.