Android Google 地图:如何从地图上删除覆盖层?

Reg*_*_AG 3 java maps android google-maps google-maps-api-3

我的地图上有叠加层,其大致创建方式如下:

for(String date : dates)
{
MapCustomTileProvider tileProvider = getMapCustomTileProviderForDate(date); // MapCustomeTileProvider extends UrlTileProvider
mMap.addTileOverlay(tileProvider.overlayOptions);
tileProviders.add(tileProvider);
}
Run Code Online (Sandbox Code Playgroud)

稍后在我的代码中,我想让其中一些覆盖层透明/不可见:

   for (MapTileProvider tileProvider : tileProviders) {

            tileProvider.overlayOptions.visible(false);
}
Run Code Online (Sandbox Code Playgroud)

但地图不会重绘。

如何强制刷新地图?

顺便问一下,是否可以调整叠加层的透明度(alpha)?

谢谢 !!!

ant*_*nio 5

addTileOverlay方法返回一个TileOverlay可以使用的对象:

TileOverlay overlay = mMap.addTileOverlay(tileProvider.overlayOptions);
overlay.setVisible(false); // Make the overlay invisible
overlay.remove(); // Remove the tile overlay from the map.
Run Code Online (Sandbox Code Playgroud)

您可能想要更改您的tileProvidersto beList<TileOverlay>以使用您的叠加层:

List<TileOverlay> tileOverlays = new ArrayList<TileOverlay>
tileOverlays.add(mMap.addTileOverlay(tileProvider.overlayOptions));

// ...

for (TileOverlay tileOverlay : tileOverlays) {
    tileOverlay.setVisible(false);
}
Run Code Online (Sandbox Code Playgroud)