【问题标题】:Open local KML File in Google Maps on Android在 Android 上的 Google 地图中打开本地 KML 文件
【发布时间】:2010-05-28 17:45:37
【问题描述】:

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

【问题讨论】:

  • 认为这是重复的,但之前未解决的问题。 stackoverflow.com/questions/2444639/…
  • @Adam 即使经过大量搜索也没有看到那个。低观看次数和缺乏答案让我很担心。
  • 您可以通过 Intent 在 MapView 中访问该文件,然后它会提示您在默认地图或网站中打开该文件。

标签: android google-maps kml


【解决方案1】:

要在 Android 上将 kml 加载到 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>

点击链接将启动地图,然后地图将尝试加载您的公里数。

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

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

【讨论】:

  • @Rodrigo 是的,目前仅在 Android 设备上 AFAIK。有关地理的更多详细信息:URI 方案可在 geouri.org> 或 en.wikipedia.org/wiki/Geo_URI> 获得。包含地理的示例页面:指向 kml 的链接:dl.dropbox.com/u/16311400/kml/geo-url.htm>
  • Dropbox 链接不再有效。改用 pastebin:pastebin.com/raw.php?i=6DxNmx4x
  • 不适合我,只是打开 gmap 搜索“file:///sdcard/overlay.kml”并没有找到任何结果
【解决方案2】:

我不知道较旧的 Android 版本,但在带有 Android 4.2.2 的 Nexus 4 上,这很容易:

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

在“地球”中,您还可以点击任何 KML 对象以显示相关信息(如果任何信息存储在 KML 文件中)。

【讨论】:

    【解决方案3】:
    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

    【讨论】:

    【解决方案4】:

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

    取决于你想做什么:

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 1970-01-01
      • 1970-01-01
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      相关资源
      最近更新 更多