Android中有沒有將KML文件從Google Earth加載到地圖窗口小部件的方法?Android API是否支持KML文件?
具體而言,我希望儘可能輕鬆地將在Google地球中創建的保存圖形加載到地圖窗口小部件上。有人曾經嘗試過嗎?
Android中有沒有將KML文件從Google Earth加載到地圖窗口小部件的方法?Android API是否支持KML文件?
具體而言,我希望儘可能輕鬆地將在Google地球中創建的保存圖形加載到地圖窗口小部件上。有人曾經嘗試過嗎?
這是一個古老的問題,但如果有人碰巧遇到這個問題,這個答案可能會有一些用處。
你的意思是將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
你也可以嘗試使用JAK和JAXB將kml文件解析爲POJO並以編程方式繪製該數據。如果你能使它運作起來,那是相對無痛的。 https://labs.micromata.de/projects/jak.html
看起來您可以在地圖上加載KML文件,但是沒有像從libkml中獲得的程序化訪問。
您能否擴展您的答案?代碼片段? – DannyThunder 2014-12-08 17:23:49