2012-07-01 4 views
0

두 개의 오버레이가 있는데 하나는지도에 마커를 배치하기위한 (ItemizedOverlay)이고 다른 하나는 소스에서 목적지까지 경로를 그리는 데 (오버레이)입니다. 지도의 마커 변경과 관련하여지도상의 경로를 그리는 것이 좋습니다. 그러나 문제는 이전에 그려진 경로가 지워져서 새 경로를 그릴 수 없다는 것입니다.둘 중 하나의 오버레이를 지우는 방법은 무엇입니까?

나는 mapView.getOverlays().clear()을 시도했다. 그러나 마커와 경로를 모두 지우고 있습니다.

mapview에 대해 정의 된 두 오버레이 중 하나의 오버레이 객체를 얻을 가능성이 있습니까?

답변

0

mapView.getOverlays()은 사용중인 Overlay의 목록을 반환합니다. 해당 목록에서 하나를 제거하고 나머지는 그대로 두십시오.

Overlay itemizedOverlay, overlay; //you need an instance of the overlays 

List<Overlay> overlays = mapView.getOverlays(); 
overlays.remove(itemizedOverlay); 

또는, 당신은 목록에서 Overlay의 인덱스 알고있는 경우 :

int myOverlayIndex; //the index of your Overlay in the list 

List<Overlay> overlays = mapView.getOverlays(); 
overlays.remove(myOverlayIndex); 
+0

감사 Niek, 좋은 솔루션을. – Aswin

+0

당신은 환영합니다 :) – nhaarman

관련 문제