我的地图上的叠加层大致是这样创建的:
for(String date : dates)
{
MapCustomTileProvider tileProvider = getMapCustomTileProviderForDate(date); // MapCustomeTileProvider extends UrlTileProvider
mMap.addTileOverlay(tileProvider.overlayOptions);
tileProviders.add(tileProvider);
}
在我的代码的后面,我想使其中一些叠加层透明/不可见:
for (MapTileProvider tileProvider : tileProviders) {
tileProvider.overlayOptions.visible(false);
}
但是地图不会重绘。
如何强制刷新地图?
顺便说一句,是否可以调整覆盖层的透明度(alpha)?
谢谢 !!!
最佳答案
addTileOverlay
方法返回可以使用的TileOverlay
对象:
TileOverlay overlay = mMap.addTileOverlay(tileProvider.overlayOptions);
overlay.setVisible(false); // Make the overlay invisible
overlay.remove(); // Remove the tile overlay from the map.
您可能需要将
tileProviders
更改为List<TileOverlay>
以使用叠加层:List<TileOverlay> tileOverlays = new ArrayList<TileOverlay>
tileOverlays.add(mMap.addTileOverlay(tileProvider.overlayOptions));
// ...
for (TileOverlay tileOverlay : tileOverlays) {
tileOverlay.setVisible(false);
}