Android:刷新地图并清除所有itemizedlaylay

时间:2012-06-19 19:52:58

标签: android android-asynctask android-mapview

我正在尝试从我的地图中删除所有的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();
}

谢谢

2 个答案:

答案 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()吗?