如何在google地图android中隐藏底图?
How to hide base map in google map android?
我想在google地图v2中隐藏底图
因为我从 osmdroid 添加了 Tile Overlay 到 Google Map
这是我的代码:
mMap = googleMap;
mMap.setMyLocationEnabled(false);
mMap.getUiSettings().setZoomControlsEnabled(false);
mMap.getUiSettings().setMyLocationButtonEnabled(false);
mMap.getUiSettings().setMapToolbarEnabled(false);
mMap.getUiSettings().setCompassEnabled(false);
mMap.setMaxZoomPreference(19);
String mUrl = "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png";
MyUrlTileProvider mTileProvider = new MyUrlTileProvider(256, 256, mUrl);
mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mTileProvider).zIndex(0));
但是当zoom_in或zoom_out时,它首先从Google地图加载图块,然后从osm加载图块。
我想隐藏显示的底图,只从 osmdroid 加载图块。
最简单的方法是使用 GoogleMap.setMapType()
方法并将地图类型设置为 MAP_TYPE_NONE:
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);
...
}
但您也可以创建自定义 GroundOverlay
which is solid color bitmap filled by desired background color and place it exactly at current screen view (details you can find e.g answer), or even create custom MapView
-based component and override its onDraw()
method and use Canvas
对象以用纯色(例如白色)填充它:
...
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
}
...
我想在google地图v2中隐藏底图 因为我从 osmdroid 添加了 Tile Overlay 到 Google Map 这是我的代码:
mMap = googleMap;
mMap.setMyLocationEnabled(false);
mMap.getUiSettings().setZoomControlsEnabled(false);
mMap.getUiSettings().setMyLocationButtonEnabled(false);
mMap.getUiSettings().setMapToolbarEnabled(false);
mMap.getUiSettings().setCompassEnabled(false);
mMap.setMaxZoomPreference(19);
String mUrl = "https://a.tile.openstreetmap.org/{z}/{x}/{y}.png";
MyUrlTileProvider mTileProvider = new MyUrlTileProvider(256, 256, mUrl);
mMap.addTileOverlay(new TileOverlayOptions().tileProvider(mTileProvider).zIndex(0));
但是当zoom_in或zoom_out时,它首先从Google地图加载图块,然后从osm加载图块。 我想隐藏显示的底图,只从 osmdroid 加载图块。
最简单的方法是使用 GoogleMap.setMapType()
方法并将地图类型设置为 MAP_TYPE_NONE:
@Override
public void onMapReady(GoogleMap googleMap) {
googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);
...
}
但您也可以创建自定义 GroundOverlay
which is solid color bitmap filled by desired background color and place it exactly at current screen view (details you can find e.g MapView
-based component and override its onDraw()
method and use Canvas
对象以用纯色(例如白色)填充它:
...
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
}
...