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 を使用していません。