0

トレッキング用のオフラインナビゲーション アプリを開発しようとしています。

アプリは、ユーザーが行ける近くのトラック/ルートのリストをユーザーに表示します。例:
-エトナ バルカンへ
の散歩 -森の中を歩く。

地元のガイドから提供されたいくつかの KML ファイルがあり、それぞれが異なるトラック用です。

したがって、「Walking to Etna Vulcan」を選択すると、Etna Vulcan に行くためにたどらなければならないトラックと、いくつかの興味深いポイントのマーカー (例: 避難所、モニュメント) を含むマップが表示されます。このデータは、KML 形式で実際に準備ができています。

だから:ユーザーは私が提供するリストからトラックを選択すると、電話は現在のユーザーの位置で(kmlまたは同等のものから)マップ上にトラックを表示します。

私はMapBox sdkでそれをやっています(しかし、私は代替案を受け入れています)。

実際、ゾーン (シチリア) のオフライン マップのダウンロードに成功しましたが、マップに kml を書き込む方法がわかりません。

Mapbox Studio にも kml をインポートしましたが、MapBox Studio マップをアプリケーションにダウンロードする方法がわかりません。

お時間をいただきありがとうございます!

4

1 に答える 1

0

Mapbox が良い代替手段のように思われる場合は、Android SDK を調べて、マーカーと座標トラックの描画がサポートされているかどうか、およびどのようにサポートされているかを確認する必要があります。

トラックについては、https://www.mapbox.com/android-sdk/geojson/を参照してください。

関連する(あなたにとって)部分は、サンプルコードの最後にあります。

LatLng[] pointsArray = points.toArray(new LatLng[points.size()]);

// Draw Points on MapView
mapboxMap.addPolyline(new PolylineOptions()
                    .add(pointsArray)
                    .color(Color.parseColor("#3bb2d0"))
                    .width(2));

ここでは、 points に座標点がありArrayListます。これらは GeoJSON データから抽出されていますが、KML データから座標点を抽出し、その例に基づいてトラックを描画するだけで済みます。

マーカーについては、https: //www.mapbox.com/android-sdk/marker/ を参照してください。

彼らはこのサンプルコードを持っています:

mapboxMap.addMarker(new MarkerOptions()
                    .position(new LatLng(48.13863, 11.57603))
                    .title("Hello World!")
                    .snippet("Welcome to my marker."));

カスタム アイコン付きのマーカーについては、https://www.mapbox.com/android-sdk/custom-marker-icon/を参照してください。

彼らはこのサンプルコードを持っています:

// Create an Icon object for the marker to use
IconFactory iconFactory = IconFactory.getInstance(MainActivity.this);
Drawable iconDrawable = ContextCompat.getDrawable(MainActivity.this, drawable.ic_directions_boat_black_18dp);
Icon icon = iconFactory.fromDrawable(iconDrawable);

// Add the custom icon marker to the map
mapboxMap.addMarker(new MarkerOptions()
                    .position(new LatLng(-33.8500000, 18.4158234))
                    .title("Cape Town Harbour")
                    .icon(icon));

したがって、カスタム アイコンには通常の Android Drawable を使用するだけです。

かなり便利そうです。私自身は Mapbox SDK を使用していません。

于 2016-04-14T11:16:04.273 に答える