我正在尝试从我的地图中删除所有的itemizedoverlay,但我不能,我不知道为什么。 我已经阅读了很多教程,并且在所有这些教程中都有以下解决方案:
itemizedoverlay.clear();
mMapView.invalidate();
但它不起作用!
我正在尝试在AsyncTask中执行此操作,首先我执行此操作(在onPreExecute()中):
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();
}
谢谢
答案 0 :(得分:3)
尝试
mMapView.getOverlays().clear();
更多信息/ javadocs:https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/MapView
答案 1 :(得分:0)
你在程序的开头做了overlays.clear()吗?最后是mMapView.invalidate()吗?