8

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.

Kara
  • 6,115
  • 16
  • 50
  • 57
Arunraj Jeyaraj
  • 639
  • 2
  • 11
  • 18
  • See http://discgolfsoftware.wordpress.com/2012/12/06/hiding-and-showing-on-screen-markers-with-google-maps-android-api-v2/ – ridoy Jun 19 '13 at 17:44

6 Answers6

22

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();
}
Karakuri
  • 38,365
  • 12
  • 84
  • 104
3

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))

}
Ashana.Jackol
  • 3,064
  • 28
  • 22
2

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.

Raghunandan
  • 132,755
  • 26
  • 225
  • 256
1

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.

Bertrand Martel
  • 42,756
  • 16
  • 135
  • 159
Sukirti Dash
  • 119
  • 1
  • 5
0

I think this would be helpful for you. Take all the markers in a List and refresh the map view whenever you need to replace markers by clearing the object of Google Map and List variable.

Community
  • 1
  • 1
0

you can use clear() in java and kotlin

java

 googleMap.clear()

kotlin

 googleMap?.clear()
Rasoul Miri
  • 11,234
  • 1
  • 68
  • 78