【问题标题】:Display kml file with Google Maps Android API v2 without parsing使用 Google Maps Android API v2 显示 kml 文件,无需解析
【发布时间】:2013-11-15 12:53:26
【问题描述】:

我有一个 kml 文件(位于本地),我想在我正在开发的应用程序中的地图上显示该文件。在我的搜索中,我多次点击了这个帖子:How to draw a path on a map using kml file?。我发现这种方法相当冗长。
我只想显示我的 kml 文件定义的标记。有没有办法在不解析文件的情况下做到这一点?毕竟,kml 和 Maps API 都是 Google 的。有没有办法告诉 API 加载基于特定 kml 文件的地图?

【问题讨论】:

    标签: android google-maps kml google-maps-api-2


    【解决方案1】:

    有没有办法在不解析文件的情况下做到这一点?

    暂时没有。

    毕竟,kml 和 Maps API 都是 Google 的。

    Google Docs 也是如此,但也没有 API 可以将电子表格转储到您的地图上。

    有没有办法告诉 API 加载基于特定 kml 文件的地图?

    目前没有,抱歉。您不妨关注this feature request,看看它是否以及何时被添加。

    【讨论】:

    • +1 用于功能请求的链接。我一定会留意的。
    • @jazz11:顺便说一句,我从您的标签中假设您指的是 Google 地图的原生 Android API,称为 Maps V2。如果您在您的应用程序中嵌入 JavaScript 版本的 Google 地图,可能是通过 WebView,可能有一种方法可以将 KML 集成到地图中,但由于我不使用 Maps JavaScript API,我不知道任何详情。
    • 是的。我指的是 Google Maps Android API v2。使用 GoogleMap 对象在应用程序中向用户显示地图。我有一种感觉,我可以通过 kml 文件中的数据来初始化该对象。但显然不是……
    【解决方案2】:

    可以选择在 PC 上的 Google 地球中创建 KML 文件。然后将该文件放入 SD 卡中,您可以将该 KML 文件调用到活动中。但以下操作的先决条件是,您需要在设备上安装 Google 地球。

    public void buttonClicked(View view)
        {Intent intent = new Intent();
        intent.setAction(android.content.Intent.ACTION_VIEW);
        File file = new File("/sdcard/APK/trek1.kml");
        intent.setDataAndType(Uri.fromFile(file), "application/vnd.google-earth.kml+xml");
        startActivity(intent);
        }
    

    也许你知道这种方式。

    【讨论】:

    • 问题是关于 Android 版 Google Maps API,而不是 Google Earth 或任何其他应用程序。
    • 曾经这样做过,我需要谷歌地球。我不知道谷歌地图是否能够打开 kml 文件,但谷歌地球可以。
    • 再次强调,这与应用程序无关。它是关于一个图书馆。 @J... 想要在他开发的应用程序内的地图上显示 KML 的叠加层。 (顺便说一句,谷歌地图应用也可以打开KML)
    猜你喜欢
    • 2013-02-18
    • 2016-11-12
    • 2019-01-06
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多