【问题标题】:Adding a KML layer to an Android maps application将 KML 图层添加到 Android 地图应用程序
【发布时间】:2010-11-04 11:26:27
【问题描述】:

我最近开始涉足 Android 开发领域,我正在开发一个使用 Google API SDK 显示地图的应用程序,它几乎是原始示例,但经过了一些修改。它是一种享受,但我希望用它做更多的事情。我的问题是:

如何向其中添加 KML 图层?我没有找到很多例子,也没有一个很清楚。我知道如何在网站上使用 Javascript 来做到这一点,但在 android 中却不知道。

谁能帮忙?

【问题讨论】:

    标签: android google-maps android-mapview kml


    【解决方案1】:

    Google 最近在其实用程序库中添加了对 KML 的支持。您可以按如下方式实例化 KMLLayer:

    KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext());
    

    或者如果您有一个流(也许您需要的 kml 在远程服务器上):

    KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext());
    

    在此之后,您必须将图层添加到地图:

    layer.addLayerToMap();
    

    有关Google Maps KML Importing Utility 的更多信息。 库在这里:Google Maps Android API utility library(你需要 0.4+ 版本)

    注意:当时,这是一项 Beta 功能。实际上,您似乎无法对多边形进行任何修改,更改其样式等等...

    希望对你有所帮助。

    【讨论】:

    • 你使用的是0.4+版本吗?
    • 我忘记在 app gradle 构建文件 (compile 'com.google.maps.android:android-maps-utils:0.4+') 上添加编译“子句”。现在,一切都好。谢谢
    • 你能批准我的回答吗?
    • 我昨天之前做了
    • 抱歉,我没有注意到您不是该问题的所有者。我正在和尼克·刘易斯交谈。
    【解决方案2】:

    如果您准备好迁移到 OpenSteetMap 地图,那么您可以使用 osmdroidOSMBonusPack 来获得 KML 支持:读取、保存、显示和设置样式。

    有一个关于 KML 的dedicated tutorial

    【讨论】:

      猜你喜欢
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多