2 ответов:
Это старый вопрос, но этот ответ может оказаться полезным, если кто-то случайно наткнется на него.
Вы хотите добавить файл kml в mapfragment внутри приложения программно? Если да, то вы можете использовать этот метод.
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.
Comments