我的地图上有覆盖图,大致是这样创建的:
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)?
谢谢!!!
答案 0 :(得分:2)
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);
}