Is it possible to move the coordinate of a MKAnnotation without adding and removing the annotation from the map?
Just use KVO:
[annotation willChangeValueForKey:@"coordinate"];
[annotation didChangeValueForKey:@"coordinate"];
If your MKAnnotation has an setCoordinate method, just include these lines right there:
- (void)setCoordinate:(CLLocationCoordinate2D)newCoordinate {
[self willChangeValueForKey:@"coordinate"];
coordinate = newCoordinate;
[self didChangeValueForKey:@"coordinate"];
}