2011-08-28 112 views
0

我想删除特定位置上的相同覆盖。这是我添加叠加层的代码,但是如何获得每个叠加层的位置?删除位置覆盖

public void visual_overlay(List<DatiOverlay> list_overlay){ 
    CustomOverlay itemized_overlays = null; 
    GeoPoint point = null; 
    for(int ov=0;ov<list_overlay.size();ov++){ 
     itemized_overlays = new CustomOverlay(drawable,mappa, Integer.toString(list_overlay.get(ov).get_id_segnalazione()),list_overlay.get(ov).get_via(),list_overlay.get(ov).get_citta(),list_overlay.get(ov).get_descrizione(),list_overlay.get(ov).get_cek_feed()); 
     point = new GeoPoint((int)(list_overlay.get(ov).get_lat() * 1E6), (int)(list_overlay.get(ov).get_lng() * 1E6)); 
     OverlayItem overlayItem = new OverlayItem(point, list_overlay.get(ov).get_nome(), list_overlay.get(ov).get_prezzo()); 
     itemized_overlays.addOverlay(overlayItem); 
     mappa.invalidate(); 
     mappa.getOverlays().add(itemized_overlays); 
    } 

回答

1

你从这样一个MapView移除叠加:

List<Overlay> mapOverlays = mapView.getOverlays(); 
if (mapOverlay != null) mapOverlays.remove(someOverlay); 
+0

但什么是someOverlay?我想删除除了mylocation覆盖之外的所有内容。代码只能覆盖(而不是我的位置)如何只能保存位置?谢谢 – Mimmo

+0

someOverlay是对要删除的叠加层的引用。您需要继续引用您可能希望稍后移除的叠加层,或者通过引用覆盖层对象或其int ID来引用。因此,例如,当您创建所有叠加层时,将它们存储起来,然后将其删除。 –