지도에서 내 itemizedoverlay를 모두 제거하려고하지만 그 이유를 알 수 없습니다. 나는 많은 자습서를 읽은 그들 모두에 다음과 같은 해결책이 :Android :지도를 새로 고침하고 모든 itemizedoverlay를 지우십시오.
이 itemizedoverlay.clear();
mMapView.invalidate();
그러나이 작동하지 않습니다는!
내가하는 우선 내가합니다 (onPreExecute에서())를 말고, AsyncTask를이 작업을 수행하기 위해 노력하고있어 :
이 itemizedoverlay.clear();
mMapView.invalidate();
나는 내 서버에서 내 모든 GeoPoint의를 얻을, 나는를 만들 myitemizedoverlay 객체의 목록을합니다 (doInBackground에서())와 나는이 같은지도에 넣어합니다 (onPostExecute에서()) : 내 코드 내지도를 업데이트하지 않는 이유는
for (int i = 0; i < myListOfOverlayItem.size(); i++) {
itemizedoverlay.addOverlay(myListOfOverlayItem.get(i));
}
overlays.add(itemizedoverlay);
? : - :
public void clear(){
this.m_overlays.clear();
setLastFocusedIndex(-1);
populate();
}
감사
'doInBackground()'에서'onPostExecute()'에 오버레이를 만들고'clear()'를 실행 한 다음 오버레이를 추가하고'invalidate'를 호출하십시오. onPreExecute()가 ** UI 스레드 ** 또는 ** 백그라운드 스레드 **에서 실행되는 경우 설명서를 확인하십시오. 백그라운드 스레드에서 실행되는 경우 맵보기를 무효로하는 것이 안전하지 않다고 생각합니다 **. – JJD