Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove Markers from Osmdroid Map

I'm creating an Android Application where i need to set markers on the map. And since my App requires Offline function i need to use Osmdroid to solve this problem. Now my issue is the markers on the map, which i can easily add them by using Markers or the ItemizedOverlay, but the issue i'm having is that i cannot remove markers from the map.

The code i have used for adding markers is this one:

    Marker marker = new Marker(mapView);
    marker.setPosition(new GeoPoint(41.3746312,19.7710733));
    marker.setIcon(getResources().getDrawable(R.drawable.marker));
    marker.setImage(getResources().getDrawable(R.drawable.marker));
    marker.setTitle("Marker");
    marker.setInfoWindow(null);
    marker.showInfoWindow();
    mapView.getOverlays().add(marker);
    mapView.invalidate();

but i'm encountering issues on removing them since the only way to remove it is:

    mapView.getOverlays().clear();

And i need to remove a specific marker instead of all of them at the same time.

like image 775
Kristi Leka Avatar asked Oct 27 '25 04:10

Kristi Leka


2 Answers

For removing specific marker you should use:

    mapView.getOverlays().remove(overlay);
    mapView.invalidate();
like image 77
ivanovd422 Avatar answered Oct 28 '25 16:10

ivanovd422


  1. When you add a marker set the Id to anything you like.

     MapView mapview = (MapView) findViewById(R.id.mapview);
     Marker marker = new Marker(mapview);
     marker.setId("String");
     mapview.getOverlays().add(marker);
    
  2. Since a Marker will get added to the mapviews overlay list as an Overlay object you can loop throgh it until you find your specific marker based on the Id.

     for(int i=0;i<mapview.getOverlays().size();i++){
        Overlay overlay=mapview.getOverlays().get(i);
        if(overlay instanceof Marker&&((Marker) overlay).getId().equals("String")){
           mapview.getOverlays().remove(overlay);
      }
    }
    
like image 39
Dren Pirraku Avatar answered Oct 28 '25 16:10

Dren Pirraku



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!