Clear markers from Google Map in Android

AndroidGoogle Maps-Android-Api-2

Android Problem Overview


I have added map on fragment activity and added several marker using addMarker function, but i am able to remove all markers , I am getting notification for different list of markers,

Now i wants to remove all markers and add new one.

one way to keep all markers in list and remove one by one, (marker.remove())

Is there any better way to clear all marker.

Android Solutions


Solution 1 - Android

If you want to clear "all markers, overlays, and polylines from the map", use clear() on your GoogleMap.

Solution 2 - Android

If you do not wish to clear polylines and only the markers need to be removed follow the steps below.

First create a new Marker Array like below

List<Marker> AllMarkers = new ArrayList<Marker>();

Then when you add the marker on the google maps also add them to the Marker Array (its AllMarkers in this example)

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

                }
           
        

then finally call the below method to remove all markers at once

 private void removeAllMarkers() {
        for (Marker mLocationMarker: AllMarkers) {
            mLocationMarker.remove();
        }
        AllMarkers.clear();

    }

call from anywhere to remove all markers

removeAllMarkers();

I found this solution when i was looking for a way to remove only the map markers without clearing the polylines. Hope this will help you too.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAshish KasmaView Question on Stackoverflow
Solution 1 - AndroidCommonsWareView Answer on Stackoverflow
Solution 2 - AndroidFRANCIS FERNANDOView Answer on Stackoverflow