2013-01-21 9 views
5

Google Earthに描画され、さまざまなルートを含む複数のKMLファイルがあります。今、Maps API V2でアンドロイドプロジェクトに表示しようとしています。Maps API V2でKMLをインポート

アンドロイドプロジェクトにKMLファイルをインポートしてマップに表示するための既存のライブラリはありますか? ライブラリではないスタックオーバーフロー(How to draw a path on a map using kml file?)にいくつかのコードが見つかりました。

ライブラリーがない場合は、これを最初から作成します。

+0

マーク、これはどこまでですか?どのようなアプリを作っていますか? – danny117

+0

@ http://devaarapp.nl/をご覧ください。 Deウェブサイトはオランダ語で、オンラインデモはiOSバージョンですが、アンドロイドアプリは事実上同じです。 –

答えて

0

私のKMLファイルのデータを解析した後、Googleのコードを使用してマップにポリラインとポリゴンを追加します。 ライブラリが見つかった場合にこのアンサーを更新します。

// Instantiates a new Polyline object and adds points to define a rectangle 
PolylineOptions rectOptions = new PolylineOptions() 
     .add(new LatLng(37.35, -122.0)) 
     .add(new LatLng(37.45, -122.0)) // North of the previous point, but at the same longitude 
     .add(new LatLng(37.45, -122.2)) // Same latitude, and 30km to the west 
     .add(new LatLng(37.35, -122.2)) // Same longitude, and 16km to the south 
     .add(new LatLng(37.35, -122.0)); // Closes the polyline. 

// Set the rectangle's color to red 
rectOptions.color(Color.RED); 

// Get back the mutable Polyline 
Polyline polyline = myMap.addPolyline(rectOptions); 
+0

これは私が上記で推奨しているものの第2の部分です。 Simple KMLなどのライブラリを使用してKMLを解析します。 – Matthew

+0

私はKMLをPHPで解析しました。このスクリプトは、すべてのlattと経度を含む2次元配列をエコーし​​ます。 アプリケーションはポリラインを作成するだけです。 すべての情報をありがとう –

+0

KMLを解析するためのPHPライブラリもあります - これはあなたが使っているものですか?これを「手動で」行う必要はありません – Matthew

0

質問の地図APIのV2部分のKMLライブラリ上だけ更新:

は、ポリラインやポリゴンを作成します。利用可能なベータ版はGoogle Maps KML Importing Utilityです。

Google Maps Android API Utility Libraryの一部です。あなたはKmlLayerを作成した後に文書としてそれは

KmlLayer layer = new KmlLayer(getMap(), R.raw.kmlFile, getApplicationContext()); 

ストリームから

KmlLayer layer = new KmlLayer(getMap(), kmlInputStream, getApplicationContext()); 

またはローカルリソースをKMLファイルをロードすることができ、マップ上にインポートしたデータを追加するaddLayerToMap()を呼び出します。

layer.addLayerToMap(); 
+0

クリックリスナーを設定する方法はありますか? –

関連する問題