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

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

  • 在Android上每次启动后运行一次代码
  • 在Android中查找包中的所有类
  • Google的NavigationDrawer无法在地图上正确绘制
  • iPhone SDK中是否有Android Intent概念
  • Android - 使用runOnUiThread从线程进行UI更改
  • 无法findJava Runtime Android Studio Robolectric
  • 如何在eclipse中包含和使用Android中的ZXing Library?
  • 如何在设备中运行Android应用程序?
  • 要在不编写应用程序的情况下将 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文件,查看它,但是当你关闭谷歌地球时,它将一直消失,直到你再次从你的电子邮件中打开文件。