在Android上的Google地图中打开本地KML文件

时间:2010-05-28 17:45:38

标签: android google-maps kml

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

4 个答案:

答案 0 :(得分:13)

要在不使用应用的情况下将kml加载到Android 上的Google地图中,您可以在某处创建一个小的html文件,其中包含指向kml文件的geo-uri链接,然后在任何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。

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

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

答案 1 :(得分:2)

我无法分辨较旧的Android版本,但在使用Android 4.2.2的Nexus 4上,这非常简单:

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

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

答案 2 :(得分:1)

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

取决于您想要做什么:

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

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

答案 3 :(得分: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