KMLファイルをAndroidデバイスにロードしました。そのKMLファイルのオーバーレイをGoogleマップにロードする最も簡単なメカニズムは何ですか?KMLファイルをWebにアップロードしたくないのですが、むしろローカルで開きます。
アプリを記述せずにAndroid)でGoogleマップにkmlを読み込むには、 kmlファイルへのgeo-uriリンクをクリックし、任意のAndroid Webブラウザーでそのリンクをクリックします。
たとえば、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に置き換えることができます)
ただし、MapsのAndroidバージョンは、デスクトップバージョン(またはデスクトップGoogle Earth)と同じバージョン/範囲のkml要素を処理しないようです。
古いAndroidバージョンについては言えませんが、Nexus 4ではAndroid 4.2.2は非常に簡単です。
Earthでは、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
GoogleマップではなくOpenStreetMapでKMLを表示してもよいと仮定すると、osmdroid + OSMBonusPack( https://github.com/MKergall/osmbonuspack )を使用することもできます。
何をしたいかに応じて:
デモアプリケーション「OSMNavigator」を使用して、マップにKMLファイルを読み込んで表示できます(KMLはローカルまたはURLから取得できます)。
または、アプリケーションでOSMBonusPackライブラリを使用して、必要に応じてKMLコンテンツを表示できます。