这个是自定义且继承自ItemizedOverlay的类public class EventIconOverlay extends ItemizedOverlay<OverlayItem>{
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
private Context mcontext; public EventIconOverlay(Drawable defaultMarker,Context context) {
// super(defaultMarker);
super(boundCenterBottom(defaultMarker));
mcontext = context;
// TODO Auto-generated constructor stub
} @Override
    public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    // TODO Auto-generated method stub
    super.draw(canvas, mapView, shadow);
    
//    boundCenterBottom(er);
    }
@Override
public int size() {
// TODO Auto-generated method stub
return mOverlays.size();
} @Override
protected OverlayItem createItem(int i) {
// TODO Auto-generated method stub
return mOverlays.get(i);
}
public void addOverlay(OverlayItem overlay) {
    mOverlays.add(overlay);
    populate();
}
@Override
protected boolean onTap(int index) {   return true;
}}我想问的是,在MapActivity中new了一个这个类,并且把图标显示在地图上后,如何隐藏这个图标?
目前我只能通过把它移除的方式,而不是真正地隐藏int length = mapOverlays.size();
Log.e("m_overlays in HideEvent", length+""); for (int i = 0; i < length-1; i++) {
if (mapOverlays.get(i) instanceof EventIconOverlay ) {
mapOverlays.remove(i);
}
}
// Log.e("m_overlays in HideEvent", length+"");
mapView.invalidate();各位看官给给意见,建议,多谢!