2010-05-12 2 views
7

사용자가 확대 한 후에 오버레이를 다시 그려야합니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까?
나는 생각할 수있는 모든 것을 시도했다. (onUserInteraction()을 오버라이드하고 getZoomLevel() 상태를 저장하면 아무 것도 실제로 작동하지 않는다.
사용자가 확대/축소를 클릭 할 때 draw()가 호출되므로지도 뷰 메소드가 가져 오는 정보 (지도의 상태 정보)가지도 뷰가 완료된 후의 상태와 다릅니다.
또한 줌의 끝에서 draw()가 호출되지 않으므로지도를 팬하면 실제로 오버레이가 제대로 그려집니다.android에서 작동하는 확대/축소 이벤트 Mapview

답변

2

아무도 7 개월 이내에 이것을 대답하지 않았으므로 내가 끝낸 것을 쓸 것입니다.

500 밀리 초 후에지도를 수동으로 새로 고치기 위해 처리기를 사용했지만 정상적으로 작동했습니다.

Handler handler; 
handler.postDelayed(refreshRoute, 500); 
0

확대 한 후 mapview.postInvalidate()을 호출 해 보았습니까?