20

我已将 KML 文件加载到 Android 设备上。将该 KML 文件的叠加层加载到 Google 地图中的最简单机制是什么?我不想将 KML 文件上传到网络,而是希望在本地打开它。

4

4 回答 4

14

要在不编写应用程序的情况下将kml 加载到 Android 上的 Google 地图中,您可以在某处创建一个带有指向 kml 文件的 geo-uri 链接的小 html 文件,然后在任何 Android 网络浏览器中单击该链接。

例如:假设您的 kml 文件位于/sdcard/overlay.kml然后您编写一个 geo-uri 链接,如下所示:

<html>
<head><title>Example KML link page using a geo-uri</title></head>
<body>
  <a href="geo:0,0?q=file:///sdcard/overlay.kml">overlay.kml</a>
</body>
</html>

单击该链接将启动 Maps,然后 Maps 将尝试加载您的 kml。

(显然,如果您的 kml 文件位于 Web 服务器上,则 file:// 部分可以替换为 http:// 服务器名)

但请注意,Android 版本的地图似乎无法处理与桌面版本(或桌面 Google 地球)相同的版本/范围的 kml 元素。

于 2011-08-26T12:27:30.017 回答
2

我无法说出较旧的 Android 版本,但在 Nexus 4 和 Android 4.2.2 上这很容易:

  • 将 KML 文件传输到您的 Android 设备并通过任何方式(USB、电子邮件、PAW 应用程序......)将其存储在您的 SD 卡上
  • 使用一些文件管理器应用程序(例如Solid ExplorerAstro等)在文件系统中找到文件并单击它。
  • Google Earth 将弹出,KML 文件将显示在地球卫星图像的顶部。

在 Earth 中,您还可以点击任何 KML 对象来显示相关信息(如果有的话存储在 KML 文件中)。

于 2013-07-23T10:53:28.097 回答
1

假设您可以在 OpenStreetMap 而不是 Google 地图上显示您的 KML,您还可以使用 osmdroid + OSMBonusPack ( https://github.com/MKergall/osmbonuspack )。

取决于你想做什么:

  • 您可以使用演示应用程序“OSMNavigator”在地图上加载和显示您的 KML 文件(KML 可以是本地的或来自 url)。

  • 或者,您可以在应用程序中使用 OSMBonusPack 库来显示您想要的 KML 内容。

于 2014-01-28T13:29:38.310 回答
1
File KML = new File("/sdcard/doc.kml");
Intent i = getPackageManager().getLaunchIntentForPackage("com.google.earth");
i.setDataAndType(Uri.fromFile(KML), "xml");
startActivity(i);

来源:http ://enladodelbien.blogspot.com/2015/06/kmlkmz-to-google-earth.html

于 2015-06-21T21:43:12.527 回答