Reputation: 639
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.
Upvotes: 8
Views: 16484
Reputation: 12222
you can use clear() in java and kotlin
java
googleMap.clear()
kotlin
googleMap?.clear()
Upvotes: 0
Reputation: 119
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.
Upvotes: 1
Reputation: 3134
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))
}
Upvotes: 3
Reputation: 38585
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();
}
Upvotes: 22
Reputation: 133560
Use Google Map object and call clear to clear the markers.
mMap.clear();
Check the docs
public final void clear ()
Removes all markers, polylines, polygons, overlays
, etc from the map.
Upvotes: 2
Reputation:
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.
Upvotes: 0