How to clear all the markers in v2 google map?

16,070

Solution 1

You can either use googleMap.clear(), or you can store your Markers in a collection of some kind and remove them in a loop:

private ArrayList<Marker> mMarkers;
...
private void removeMarkers() {
    for (Marker marker: mMarkers) {
        marker.remove();
    }
    mMarkers.clear();
}

Solution 2

ex - if you want to refresh and load new marker point in the map for a button click(in this ex i get button click),

    switch ( view.getId() ) {
        case R.id.buttonOne:

    //clear googlemap
    googleMap.clear();
    //call to generate new marker
    this.getMarker(lat,lang);
        break;
        }

//to add new marker
public void getMarker ( String lat,String lang ) {

LatLng latLang = new LatLng( lat, lang);
//call to your googlemap implementation method
this.getGoogleMap();
Marker marker = googleMap.addMarker(new MarkerOptions().position(latLang))

}

Solution 3

Use Google Map object and call clear to clear the markers.

mMap.clear();

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/GoogleMap#clear()

Check the docs

public final void clear ()

Removes all markers, polylines, polygons, overlays, etc from the map.

Solution 4

just create a method as clearOverlays()

and inside the method

public void clearOverlays(){
        if(mMap!=null){
            mMap.clear();
        }else{
            Log.d("Maps::","mMap is null");
        }
    }

where mMap is

public static GoogleMap mMap;

That mMap will initialize automatically inside the
public void onMapReady(GoogleMap googleMap) method .

There put mMap = googleMap;

Now use the clearOverlays() method wherever you want.

Share:
16,070
Arunraj Jeyaraj
Author by

Arunraj Jeyaraj

Updated on July 27, 2022

Comments

  • Arunraj Jeyaraj
    Arunraj Jeyaraj almost 2 years

    I need to clear all markers in v2 google map. And again need to add some markers. If anybody knows the answer kindly share your thoughts.

  • Raghunandan
    Raghunandan almost 11 years
    clear() will do the job. the second solution will remove from the arraylist and then you will have to update your view/refresh i guess
  • MaciejGórski
    MaciejGórski almost 11 years
    Don't forget to call mMarkers.clear(); at the end of removeMarkers function.
  • Karakuri
    Karakuri almost 11 years
    Raghunandan: marker.remove() removes the marker from the map. MaciejGórski: good catch, updated the code.