编程语言
首页 > 编程语言> > java – Android API是否支持KML文件?

java – Android API是否支持KML文件?

作者:互联网

Android中是否有办法将Google地球中的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

标签:java,android,kml,google-earth
来源: https://codeday.me/bug/20190522/1151004.html