How to remove the marker in Google map v2?
android, google-maps
Solution
I Googled lot and found there isn't easy way to remove the marker from map, whenever you add the marker to map don't forget to keep its record, like adding it to Map or ArrayList.
your_google_map_obj.addMarker(new MarkerOptions()) //this adds Marker on Google Map, you should know it always returns Marker object so that you can use it later especially for removal.
so `Marker marker=your_google_map_obj.addMarker(new MarkerOptions())` add this marker object to list or map `markerArraylist.add(marker);` then easily you can extract marker from list by `Marker marker=markerArraylist.get(index);` and then call `marker.remove();`
Problem
I added the marker on the map using following method and also kept the marker record ``` public static void showallLocations() { ArrayList<LinkedHashMap<String, String>> listshow=latLngStoragepreference.getLatlng(); markerlist=new ArrayList<Marker>();// to keep the marker record so that later we can delete if(listshow.size()>0) { for(int i=0;i<listshow.size();i++) { LinkedHashMap<String, String> Linkedhashmap=listshow.get(i); Set mapSet = (Set) Linkedhashmap.entrySet(); //Create iterator on Set Iterator mapIterator = mapSet.iterator(); Map.Entry mapEntry = (Map.Entry) mapIterator.next(); // getKey Method of HashMap access a key of map String keyValue = (String) mapEntry.getKey(); //getValue method returns corresponding key's value String value = (String) mapEntry.getValue(); String[] parts=value.split("#"); String Latitude=parts[0]; String Longitude=parts[1]; Double Latitudeconverted=Double.parseDouble(Latitude); Double Longitudeconverted=Double.parseDouble(Longitude); System.out.println(Latitudeconverted+""+Longitudeconverted); //show on map LatLng latLngs=new LatLng(Latitudeconverted, Longitudeconverted); Marker marker=map.addMarker(new MarkerOptions() .position( latLngs) .title(keyValue) .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_navigate_to))); markerlist.add(marker);// keeping the record of marker object } } } ``` in custom baseadapter, I tried to remove the marker but `marker.remove()` is not working ``` holder.btnDeletelocation.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Marker marker= MainActivity.markerlist.get(position); Log.d("MARKERlist before Remove", MainActivity.markerlist.toString()); Log.d("MARKER Title",marker.getTitle()); marker.remove(); marker.setVisible(false); Log.d("MARKERlist after Remove", MainActivity.markerlist.toString()); notifyDataSetChanged(); } }); ``` Please help If anybody had gone through the same. Thanks in advance