删除位置覆盖
问题描述:
我想删除特定位置上的相同覆盖。这是我添加叠加层的代码,但是如何获得每个叠加层的位置?删除位置覆盖
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);
}
答
你从这样一个MapView移除叠加:
List<Overlay> mapOverlays = mapView.getOverlays();
if (mapOverlay != null) mapOverlays.remove(someOverlay);
但什么是someOverlay?我想删除除了mylocation覆盖之外的所有内容。代码只能覆盖(而不是我的位置)如何只能保存位置?谢谢 – Mimmo
someOverlay是对要删除的叠加层的引用。您需要继续引用您可能希望稍后移除的叠加层,或者通过引用覆盖层对象或其int ID来引用。因此,例如,当您创建所有叠加层时,将它们存储起来,然后将其删除。 –