2011-04-18 445 views
1

你好

我正在嘗試構建一個應用程序,該應用程序在Google地圖上使用ItemOverlay顯示當前用戶位置;問題是我不知道如何移動覆蓋層,所以我嘗試清除覆蓋層並重新創建一個新層,但覆蓋層不會被刪除,而是在地圖上看到n個覆蓋層而不是一個覆蓋層。Android:在地圖上顯示和移動當前位置

我的代碼是:

 if(!mapView.getOverlays().isEmpty()) { 
      mapView.getOverlays().clear(); 
      mapView.invalidate(); 
     } 
     else { 
      overlayitem = new OverlayItem(point, "Where am i?", "I'm here!"); 
      itemizedoverlay.addOverlay(overlayitem); 
      mapView.getOverlays().add(itemizedoverlay); 
     } 

這似乎是明確不刪除項目......

誰能幫助我?

感謝和問候 c。

+0

這很奇怪,清除+無效對我有用。嘗試mapView.remove() – Reno 2011-04-18 08:12:10

回答

1

我用這個代碼,它爲我工作:

mapOverlays.clear(); 
    overlay = new GeoCoderItemizedOverlay(getResources().getDrawable(R.drawable.bluedot), mapview); 
    overlay.addOverlay(new OverlayItem(new GeoPoint((latitudine),(longitudine)), "Luogo segnalazione", address)); 
    mapOverlays.add(overlay); 
    mapview.invalidate(); 

或多或少相同的代碼之前我張貼..

+0

它不起作用;它創建一個新的overlayitem而不刪除以前的 – Cris 2011-04-18 08:29:36

0

我認爲你應該使用,

myMapView.getOverlays ().clear()

+0

mapView是我的地圖實例的名稱,用mapView =(MapView)findViewById(R.id.mapview); – Cris 2011-04-18 08:33:28

+0

我沒有給你,請你詳細說明.. – 2011-04-19 05:42:30

相關問題