2010-03-15 182 views
4

Android中有沒有將KML文件從Google Earth加載到地圖窗口小部件的方法?Android API是否支持KML文件?

具體而言,我希望儘可能輕鬆地將在Google地球中創建的保存圖形加載到地圖窗口小部件上。有人曾經嘗試過嗎?

回答

5

這是一個古老的問題,但如果有人碰巧遇到這個問題,這個答案可能會有一些用處。

你的意思是將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

-1

看起來您可以在地圖上加載KML文件,但是沒有像從libkml中獲得的程序化訪問。

+0

您能否擴展您的答案?代碼片段? – DannyThunder 2014-12-08 17:23:49