Похоже, что вы используете свои собственные пользовательские представления для аннотаций, в этом случае вы можете просто добавить метод "refresh" в свое пользовательское представление и вызвать его после обновления базовой аннотации (то есть: пользовательское представление -aпроизводный класс от MKAnnotationView - всегда присоединен к потенциально настраиваемому классу «аннотаций», соответствующему протоколу MKAnnotation) *
*) CustomAnnotationView.h
@interface CustomAnnotationView : MKAnnotationView
{
...
}
...
//tell the view to re-read the annotation data it is attached to
- (void)refresh;
*) CustomAnnotationView.m
//override super class method
- (void)setAnnotation:(id <MKAnnotation>)annotation
{
[super setAnnotation:annotation];
...
[self refresh];
}
- (void)refresh
{
...
[self setNeedsDisplay]; //if necessary
}
*) Где вы обрабатываете MKMapView и его аннотации
for(CustomAnnotation *annotation in [m_MapView annotations])
{
CustomAnnotationView *annotationView = [m_MapView viewForAnnotation:annotation];
[annotationView refresh];
}