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