KMLファイルをAndroidデバイスにロードしました。そのKMLファイルのオーバーレイをGoogleマップに読み込むための最も簡単なメカニズムは何ですか?KMLファイルをウェブにアップロードしたくはありませんが、ローカルで開きたいと思います。
4 に答える
アプリを作成せずに Android の Google マップに kml を読み込むには、kml ファイルへの geo-uri リンクを含む小さな html ファイルをどこかに作成し、任意の 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:// サーバー名に置き換えることができます)
ただし、マップの Android バージョンは、デスクトップ バージョン (またはデスクトップ Google Earth) と同じバージョン/範囲の kml 要素を処理していないように見えることに注意してください。
古いバージョンの Android についてはわかりませんが、Android 4.2.2 を搭載した Nexus 4 では、これは非常に簡単です。
- KML ファイルを Android デバイスに転送し、任意の方法 (USB、電子メール、PAW アプリなど) でSD カードに保存します。
- ファイル マネージャー アプリ ( Solid Explorer、Astroなど) を使用して、ファイル システム内のファイルを見つけてクリックします。
- Google Earth がポップアップし、KML ファイルが地球の衛星画像の上に表示されます。
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
KML を Google マップの代わりに OpenStreetMap に表示しても問題ないと仮定すると、osmdroid + OSMBonusPack ( https://github.com/MKergall/osmbonuspack ) を使用することもできます。
あなたがしたいことに応じて:
デモ アプリケーション「OSMNavigator」を使用して、マップ上に KML ファイルをロードして表示することができます (KML はローカルまたは URL から取得できます)。
または、アプリケーションで OSMBonusPack ライブラリを使用して、必要に応じて KML コンテンツを表示することもできます。