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

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

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

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

 Example KML link page using a geo-uri  overlay.kml   

点击该链接将启动地图,然后地图将尝试加载您的kml。

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

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

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

  • 将KML文件传输到Android设备并通过任何方式将其存储在SD卡上(USB,eMail, PAW应用程序 ……)
  • 使用一些文件管理器应用程序(例如Solid Explorer , Astro ,…)在文件系统中find该文件并单击它。
  • 将popupGoogle地球,并将KML文件显示在地球卫星图像的顶部。

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

 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

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

取决于您想要做什么:

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

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

发送给自己并观看此vid如何在您的机器人上打开KML文件。

http://youtu.be/yx4EyAFhWyQ

这是合法的,但你无法将它保存到手机上的“我的位置”。 基本上,你可以打开kml文件,查看它,但是当你关闭谷歌地球时,它将一直消失,直到你再次从你的电子邮件中打开文件。