A custom AnnotationView is updated with new coordinates. But the problem is that it visually updates only after some manipulations with MKMapView, e.g. zooming or moving. Wh
I solved this error with an asynchronous call, at least 0.5 delay.
e.g.: [self performSelector:@selector(redrawPins) withObject:nil afterDelay:0.5];
[self performSelector:@selector(redrawPins) withObject:nil afterDelay:0.5];
Where "redrawPins" is the function which adds and removes pins.