2012-02-16 98 views
0

我一直在关注NooYawk MapView示例,并取得了合理的成功。我已经根据一些系统更新消息替换了硬编码的地址和描述。发生新更新时新标记添加得很好。问题是问题解决后标记不会消失。以编程方式添加和删除标记

,我会很愿意删除的刷新按钮被按下的所有标记,因为他们得到在加回。

任何想法?

以下是有点消毒。

private class SitesOverlay extends ItemizedOverlay<OverlayItem> { 
    private List<OverlayItem> items=new ArrayList<OverlayItem>(); 
    private Drawable marker=null; 

    public SitesOverlay(Drawable marker) { 
     super(marker); 
     this.marker=marker; 

     try { 
      data = getData(); 
     } catch (MalformedURLException e) { 
      // 
     } 

     if (!data.equals("")) { 
          // process data 
      for (Integer i = 0; i < outages.length; i++) { 
       items.add(new OverlayItem(
        getPoint(lat, lng, headerMsg, bodyMsg)); 
      } 
     } 

     populate(); 
    } 

    @Override 
    protected OverlayItem createItem(int i) { 
     return(items.get(i)); 
    } 

    @Override 
    public void draw(Canvas canvas, MapView mapView, 
       boolean shadow) { 
     super.draw(canvas, mapView, false); 
     boundCenterBottom(marker); 
    } 

    @Override 
    protected boolean onTap(int i) { 
     Toast.makeText(getBaseContext(), 
      items.get(i).getSnippet(), 
      Toast.LENGTH_LONG).show(); 
     return(true); 
    } 

    @Override 
    public int size() { 
     return(items.size()); 
    } 
} 

回答

4

上的刷新按钮点击mapview.getOverlays().clear();然后在地图中,加入叠加后开始图钉你应该mapview.postinvalidate()

+0

感谢ANKIT,即做到了。 – user1174838 2012-02-19 06:55:47

相关问题