不需解析即可在Google Maps Android API v2中显示kml文件

6

我有一个 KML 文件(存储在本地),我想在我正在开发的应用程序中在地图上显示它。在我的搜索中,我多次遇到了这篇文章:如何使用 KML 文件在地图上绘制路径? 我认为这种方法相当冗长。
我只想按照我的 KML 文件定义显示标记。是否有一种方法可以不解析文件就实现?毕竟,KML 和 Maps API 都是 Google 的产品。难道没有一种告诉 API 基于特定的 KML 文件加载地图的方式吗?

2个回答

5

有没有不需要解析文件的方法来做这件事情?

目前还没有。

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

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

难道没有办法告诉API根据特定的kml文件加载地图吗?

目前还没有,抱歉。您可以关注此功能请求,看看是否会添加以及何时添加。


+1 对于功能请求的链接。我一定会关注的。 - Jazib
@jazz11:顺便说一下,我假设你的标签指的是 Google Maps 的本机 Android API,也就是 Maps V2。如果你正在通过 WebView 嵌入 Google Maps 的 JavaScript 版本到你的应用程序中,可能有一种方法将 KML 集成到地图中,但由于我不使用 Maps JavaScript API,所以我不知道任何细节。 - CommonsWare
是的,我指的是Google Maps Android API v2。在应用程序中使用GoogleMap对象向用户显示地图。我有一种感觉,可以通过kml文件中的数据对该对象进行初始化。但显然不行... - Jazib

0
有一种选项可以在 PC 上创建 KML 文件并将该文件放入 SD 卡中,然后您可以调用该 KML 文件进入活动。但是以下工作的先决条件是您需要在设备上安装 Google Earth。
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);
    }

也许你可能知道这种方式。


这个问题是关于Google Maps API for Android的,不是关于Google Earth或任何其他应用程序。 - naXa stands with Ukraine
那是我以前的做法,需要用到谷歌地球。我不知道谷歌地图是否能打开kml文件,但谷歌地球可以。 - Dhaval
再次强调,这不是关于一个应用程序的事情,而是关于一个库的问题。@J...希望在他开发的应用程序中将KML叠加层显示在地图上。(顺便说一句,谷歌地图应用程序也能够打开KML文件) - naXa stands with Ukraine

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接