To drag an annotation, set the drag and drop property of the annotation to YES.
set the annotation draggable in the viewForAnnotation delegate viewForAnnotation .
Use the didChangeDragState delegate didChangeDragState to get new annotation coordinates.
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState { if (newState == MKAnnotationViewDragStateStarting) { } if (newState == MKAnnotationViewDragStateEnding)
source share