如何在google map android中隐藏底图?

问题描述 投票:0回答:1

我想在google map v2Because I added Tile Overlay from osmdroid to Google MapThis is my code:

    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时,它首先加载的瓷砖从谷歌地图,然后加载的瓷砖从osm.I希望显示的基本地图被隐藏,只有瓷砖加载从osmdroid。

android google-maps openstreetmap
1个回答
2
投票

最简单的方法是使用 GoogleMap.setMapType() 方法,并将地图类型设置为MAP_TYPE_NONE。

@Override
public void onMapReady(GoogleMap googleMap) {
    googleMap.setMapType(GoogleMap.MAP_TYPE_NONE);
    ...
}

但你也可以创建自定义的 GroundOverlay 填充了所需背景色的纯色位图,并将其准确地放置在当前的屏幕视图中(详情可以找到,如 这个 答案),甚至创建自定义的 MapView-的组件和 凌驾于其上 onDraw() 方法和用途 Canvas 对象填充纯色(如白色)。

...
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawColor(Color.WHITE);
}
...
© www.soinside.com 2019 - 2024. All rights reserved.