Использование тайла mapBox в качестве тайла osmdroidSource - PullRequest
0 голосов
/ 09 февраля 2019

Я новичок на карте в Android и хочу создать простое приложение для карт с osmdroid.Я добавил

implementation 'org.osmdroid:osmdroid-android:6.0.3'

к своему gradle, и я использую таким образом в классе ма:

final ITileSource tileSource = TileSourceFactory.HIKEBIKEMAP;
mapView.setTileSource(tileSource);
mapView.setTilesScaledToDpi(true);
mapView.setMultiTouchControls(true);
mapView.setVisibility(View.VISIBLE);

Теперь я использую TileSourceFactory.HIKEBIKEMAP в качестве источника плитки.В соответствии с этой страницей я хочу использовать плитку mapbox, поэтому для того, чтобы я зарегистрировался на сайте mapbox и создал Access tokens, теперь я не могу найти, чтобы создать MAPBOX_MAPID где это?

После создания ID как я могу использовать mapbox.mapbox-roads-v8 ?

1 Ответ

0 голосов
/ 10 февраля 2019

Важный факт, на который следует обратить внимание: mapbox.mapbox-streets-v8 - это vector tileset.Векторные плитки не поддерживаются напрямую Osmdroid, только растровые изображения.К счастью, Mapbox по-прежнему предоставляет растровые плитки для своих наборов плиток.

Используйте mapbox.mapbox-streets-v8 (например, вы также можете попробовать mapbox.streets) как MAPBOX_MAPID и используйте MapBoxTileSource, как описано в документации по osmdroid.

final MapBoxTileSource tileSource = new MapBoxTileSource();
//option 1, load your settings from the manifest
tileSource.retrieveAccessToken(context);
tileSource.retrieveMapBoxMapId(context);
//option 2, provide them programmatically
tileSource.setAccessToken(context);
tileSource.setMapBoxMapId(context);
mMapView.setTileSource(tileSource);

Должно работать.

...