0

アイテム化されたオーバーレイをすべてマップから削除しようとしていますが、削除できず、理由がわかりません。私は多くのチュートリアルを読みましたが、それらすべてに次の解決策があります。

        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 に答える