Я знаю, что вы нашли способ скрыть свое наложение, но есть более элегантный способ сделать это.Создайте пользовательский класс для вашего оверлея:
public class MapOverlay extends Overlay{
private Boolean visible;
public MapOverlay(){
this.visible = true;
}
public void draw(Canvas canvas, MapView mapv, boolean shadow){
super.draw(canvas, mapv, shadow);
if (visible) {
// draw what you want
}
}
public Boolean isVisible() {
return visible;
}
public void isVisible(Boolean visible) {
this.visible = visible;
}
public void toggleVisible() {
this.visible = !visible;
}
}
Затем в своей деятельности добавьте оверлеи как обычно:
mapView.getOverlays().addOverlay(new MapOverlay());
Позже, если вы хотите показать / скрыть ваше оверлей, просто позвоните:
mapView.getOverlays().get(0).toggleVisible();
или:
mapView.getOverlays().get(0).isVisible(false);
Надеюсь, это поможет.