フラグメントアクティビティにマップを追加し、addMarker関数を使用していくつかのマーカーを追加しましたが、すべてのマーカーを削除できます。マーカーのさまざまなリストに関する通知を受け取ります。
今、私はすべてのマーカーを削除し、新しいものを追加したいと思います。
すべてのマーカーをリストに保持し、1つずつ削除する1つの方法(marker.remove())
すべてのマーカーをクリアするためのより良い方法はありますか?
フラグメントアクティビティにマップを追加し、addMarker関数を使用していくつかのマーカーを追加しましたが、すべてのマーカーを削除できます。マーカーのさまざまなリストに関する通知を受け取ります。
今、私はすべてのマーカーを削除し、新しいものを追加したいと思います。
すべてのマーカーをリストに保持し、1つずつ削除する1つの方法(marker.remove())
すべてのマーカーをクリアするためのより良い方法はありますか?
回答:
「マップからすべてのマーカー、オーバーレイ、およびポリライン」をクリアする場合は、でを使用clear()しますGoogleMap。
Markerclear()
                    clear()関数はMarkerIDをリセットしないことに注意してください。基本的に、あなたはm0新しいMarker追加のために再び得ることはありません。
                    ポリラインをクリアせず、マーカーのみを削除する必要がある場合は、以下の手順に従ってください。
まず、以下のような新しいマーカー配列を作成します
List<Marker> AllMarkers = new ArrayList<Marker>();
次に、グーグルマップにマーカーを追加するときに、それらをマーカー配列(この例ではAllMarkers)にも追加します。
for(int i=0;i<places.length();i++){
                LatLng location = new LatLng(Lat,Long);
                MarkerOptions markerOptions = new MarkerOptions();
                markerOptions.position(location);
                markerOptions.title("Your title");
                 Marker mLocationMarker = Map.addMarker(markerOptions); // add the marker to Map
                    AllMarkers.add(mLocationMarker); // add the marker to array
                }
次に、最後に以下のメソッドを呼び出して、すべてのマーカーを一度に削除します
 private void removeAllMarkers() {
        for (Marker mLocationMarker: AllMarkers) {
            mLocationMarker.remove();
        }
        AllMarkers.clear();
    }
どこからでも電話してすべてのマーカーを削除する
removeAllMarkers();
ポリラインをクリアせずにマップマーカーのみを削除する方法を探していたときに、この解決策を見つけました。これがあなたにも役立つことを願っています。