我是android系统上的新手,我想使用osmdroid
创建简单的地图应用程序。
我添加了
implementation 'org.osmdroid:osmdroid-android:6.0.3'
到我的gradle,我在ma类中以这种方式使用:
final ITileSource tileSource = TileSourceFactory.HIKEBIKEMAP;
mapView.setTileSource(tileSource);
mapView.setTilesScaledToDpi(true);
mapView.setMultiTouchControls(true);
mapView.setVisibility(View.VISIBLE);
现在我正在使用TileSourceFactory.HIKEBIKEMAP
作为图块源。根据此page,我想使用mapbox磁贴,因此为了我在mapbox site中注册并创建Access tokens
的顺序,现在找不到在哪里创建MAPBOX_MAPID
了?>
创建ID
后如何使用mapbox.mapbox-streets-v8?
答案 0 :(得分:1)
要注意的重要事实:mapbox.mapbox-streets-v8
是一个 vector 拼贴集。 Osmdroid不直接支持矢量切片,仅位图支持。幸运的是,Mapbox仍为其图块集提供位图图块。
使用mapbox.mapbox-streets-v8
(例如,您也可以尝试使用mapbox.streets
)作为MAPBOX_MAPID
,并按照osmdroid文档中的说明使用MapBoxTileSource
。
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);
应该可以。