0

我试图从我的地图中删除我所有的 itemizedoverlay,但我不能,我也不知道为什么。我已经阅读了许多教程,并且在所有教程中都有以下解决方案:

        itemizedoverlay.clear();            
        mMapView.invalidate();

但它不起作用!

我试图在 AsyncTask 中执行此操作,首先我执行(在 onPreExecute() 中):

        itemizedoverlay.clear();            
        mMapView.invalidate();

然后我从服务器获取所有地理点,创建 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();
}

谢谢

4

2 回答 2

3

尝试

mMapView.getOverlays().clear();

更多信息/javadocs:https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/MapView

于 2012-06-19T19:57:36.287 回答
0

您是否在程序开始时执行overlays.clear() 并在最后执行mMapView.invalidate()?

于 2012-06-19T20:50:52.403 回答