我知道你找到了一種方法來隱藏你的覆蓋,但有更優雅的方式來做到這一點。 創建自定義類的疊加:
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);
希望它有幫助。
我剛剛添加了一個基本上是透明圖像的覆蓋圖作爲itemizedoverlayitem,並且它工作正常。感謝您的其他想法。 – user756212 2011-05-31 14:24:23