5

Google Earth で描画され、異なるルートを含む複数の KML ファイルがあります。現在、Maps API V2 を使用して Android プロジェクトでそれらを表示しようとしています。

Android プロジェクトに KML ファイルをインポートしてマップに表示するための既存のライブラリはありますか? ライブラリではないスタック オーバーフロー ( kml ファイルを使用してマップにパスを描画する方法) に関するコードを見つけました。

利用可能なライブラリがない場合は、これをゼロから構築します。

4

2 に答える 2

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);
于 2013-01-22T08:58:02.820 に答える
0

質問の Maps API V2 部分のKML ライブラリの更新のみです。Google Maps KML Importing Utilityのベータ版が利用可能になりました。

これは、Google Maps Android API Utility Libraryの一部です。文書化されているように、ストリームから KML ファイルをロードできます

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

またはローカルリソース

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

KmlLayer を作成したら、addLayerToMap() を呼び出して、インポートしたデータをマップに追加します。

layer.addLayerToMap();
于 2015-08-05T17:49:58.943 に答える