First, get a list of annotations on the map screen, and then delete annotations that are not the user's current location (i.e. in the MKUserLocation class).
NSArray *annotations = [mapView annotations]; for (id annotation in annotations) { if (annotation isKindOfClass:[MKUserLocation class]) { continue; } [mapView removeAnnotation:annotation]; }
Then you can add your new annotation as usual.
source share