Android Google地图:如何从地图中删除叠加层?

时间:2017-03-23 10:37:46

标签: java android google-maps google-maps-api-3 maps

我的地图上有覆盖图,大致是这样创建的:

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)?

谢谢!!!

1 个答案:

答案 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);
}