【问题标题】:Does the Android API support KML files?Android API 是否支持 KML 文件?
【发布时间】:2010-03-15 01:53:52
【问题描述】:

Android 中有没有办法将 KML 文件从 Google 地球加载到地图小部件中?

具体来说,我希望尽可能轻松地将在 Google 地球中创建的已保存形状加载到地图小部件之上。以前有人试过吗?

【问题讨论】:

    标签: java android kml google-earth


    【解决方案1】:

    这是一个老问题,但如果有人偶然发现它,这个答案可能会有用。

    您的意思是以编程方式将 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

    【讨论】:

      【解决方案2】:

      看起来您可以在地图上加载 KML 文件,但没有像从 libkml 获得的编程访问。

      【讨论】:

      • 你能扩展你的答案吗?代码 sn-p?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 2011-06-06
      • 1970-01-01
      • 2021-11-30
      • 2013-10-12
      • 2011-10-17
      相关资源
      最近更新 更多