2017-05-05 9 views
0

내 앱에서 여러 마커를지도에 추가 할 수 있으며,이 마커는 arraylist에 저장됩니다. 사용자가지도에 새 마커를 추가 할 때마다 아주 짧은 시간이 지나면지도에서 마커가 제거되는 경우가 있습니다. 마커가 놓여있는 다른 시간.Android Google지도 v2 : 계속하기 전에 기능이 완료되었는지 확인하십시오.

그것의 요점은 removeIcons()가 여전히 바쁜 것입니다 및 drawIcons()

removeIcons(); 

//Redraw icons 
drawIcons(); 

이 아이콘을 제거하는 것은 단순히 후 완료 :

private void removeIcons() { 
    for (Marker iconMarker : iconMarkers) { 
    iconMarker.remove(); 
    } 
} 

질문 : 내가 확인 어떻게 drawIcons를 호출하기 전에 removeIcons가 끝났습니까?

답변

0

심플.

단일 아이콘을 추가/제거하기 위해 모든 아이콘을 제거한 다음 모든 아이콘을 다시 추가하지 마십시오.

매우 비효율적입니다.

목록을 추적하고 하나의 마커를 추가하고 그립니다.

Google지도보기가 다른 스레드에서 그림을 처리하고 코드가 실행되는 동안 해당 스레드를 실행할 수 있기 때문에 상황이 발생합니다. 이 행동을 슬프게 멈추게 할 수있는 방법은 없습니다.

+0

감사합니다. 그렇지 않으면 마커를 제거하는 데 문제가있었습니다. 나는이 길을 갈거야. – Fullhdpixel