使用mapBox瓷砖作为osmdroid tileSource

时间:2019-02-09 15:38:15

标签: android mapbox osmdroid

我是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

1 个答案:

答案 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);

应该可以。