Как очистить определенный оверлей на карте в Android - PullRequest
0 голосов
/ 25 июля 2011

Я создал следующие геопункты и элементы наложения

for(int i=0;i<_locationId.size();i++)
    {
    point = new GeoPoint((int)(Double.parseDouble(_latitudeToSave.get(i))*1E6),(int)(Double.parseDouble(_longitudeToSave.get(i))*1E6));
    itemizedOverlay.addOverlay(new OverlayItem(point, _locationName.get(i),_locationId.get(i)+":"+_latitudeToSave.get(i)+":"+_longitudeToSave.get(i)));
    }

Я добавил свой оверлей вот так

mapOverlays.add(itemizedOverlay);

Теперь я попытался удалить наложение этим

mapView.getOverlays().clear();

Это очищает все локации

но мне нужно удалить определенное местоположение ... Как просто удалить один элемент из списка наложений?

И иногда, когда я добавляю элемент наложения позже, если только я не нажимаю на карту, когда конкретный элемент не заполняется ... как с этим справиться?

Ответы [ 3 ]

1 голос
/ 25 июля 2011

используйте это

map.getOverlays (). Удалить (место)

0 голосов
/ 06 декабря 2012

Используйте этот код:

Список mapOverlays = mapView.getOverlays ();

 public void removeChosenOverlay(String overlayUUID)
 {
     for(int i=0; i<mapOverlays.size(); i++)
     {
         String className = mapOverlays.get(i).getClass().getSimpleName();

         if(className.equals("MyOverlay"))
         {
             MyOverlay myOverlay = (MyOverlay) mapOverlays.get(i);

             if((myOverlay != null) && (myOverlay.getOverlayUUID.equals(overlayUUID)))
             {
                 mapOverlays.remove(i);
                 mapView.invalidate()
                 break;
             }
         }
     }
 }
0 голосов
/ 16 января 2012

Вы должны поставить GeoPoint вместо места, чтобы это работало.

...