我已将KML文件加载到Android设备上。将KML文件的叠加层加载到Google地图的最简单机制是什么?我不想将KML文件上传到网络,而是宁愿在本地打开它。
答案 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对象以显示相关信息(如果有任何信息存储在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