2012-02-16 8 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.postinvalidate()

+0

おかげAnkitをすべきオーバーレイを追加した後、次にmapview.getOverlays().clear();をクリックします。 – user1174838

関連する問題