当前位置: 代码迷 >> Android >> 请问,google地图view中怎么隐藏一个继承自ItemizedOverlay<OverlayItem>的自定义overlay
  详细解决方案

请问,google地图view中怎么隐藏一个继承自ItemizedOverlay<OverlayItem>的自定义overlay

热度:59   发布时间:2016-05-01 17:47:14.0
请教,googlemapview中如何隐藏一个继承自ItemizedOverlay<OverlayItem>的自定义overlay?
这个是自定义且继承自ItemizedOverlay的类
Java code
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(marker);    }    @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了一个这个类,并且把图标显示在地图上后,如何隐藏这个图标?
目前我只能通过把它移除的方式,而不是真正地隐藏
Java code
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();

各位看官给给意见,建议,多谢!

------解决方案--------------------
可以在Item对象中加标志吧,在去对象的时候过滤一下
  相关解决方案