使用 mapBox tile 作为 osmdroid tileSource
Use mapBox tile as osmdroid tileSource
我是 android 的地图新手,我想用 osmdroid
创建简单的地图应用程序。
我添加了
implementation 'org.osmdroid:osmdroid-android:6.0.3'
我的 gradle 和我在 ma class:
中这样使用
final ITileSource tileSource = TileSourceFactory.HIKEBIKEMAP;
mapView.setTileSource(tileSource);
mapView.setTilesScaledToDpi(true);
mapView.setMultiTouchControls(true);
mapView.setVisibility(View.VISIBLE);
现在我使用 TileSourceFactory.HIKEBIKEMAP
作为图块源。根据这个 page I want to use mapbox tile so in order i registered in mapbox site 我创建了 Access tokens
现在我找不到创建 MAPBOX_MAPID
它在哪里?
创建 ID
后如何使用 mapbox.mapbox-streets-v8?
需要注意的重要事实: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);
应该可以。
我是 android 的地图新手,我想用 osmdroid
创建简单的地图应用程序。
我添加了
implementation 'org.osmdroid:osmdroid-android:6.0.3'
我的 gradle 和我在 ma class:
中这样使用final ITileSource tileSource = TileSourceFactory.HIKEBIKEMAP;
mapView.setTileSource(tileSource);
mapView.setTilesScaledToDpi(true);
mapView.setMultiTouchControls(true);
mapView.setVisibility(View.VISIBLE);
现在我使用 TileSourceFactory.HIKEBIKEMAP
作为图块源。根据这个 page I want to use mapbox tile so in order i registered in mapbox site 我创建了 Access tokens
现在我找不到创建 MAPBOX_MAPID
它在哪里?
创建 ID
后如何使用 mapbox.mapbox-streets-v8?
需要注意的重要事实: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);
应该可以。