Вот как я вращаю MapView (см. Поворот MapView с использованием ориентации компаса ):
[self.mapView setTransform:CGAffineTransformMakeRotation(-1 * currentHeading.magneticHeading * 3.14159 / 180)];
Затем, чтобы сохранить ориентацию аннотаций в верхней частиустройство:
for (MKAnnotation *annotation in self.mapView.annotations) {
MKAnnotationView *annotationView = [self.mapView viewForAnnotation:annotation];
[annotationView setTransform:CGAffineTransformMakeRotation(currentHeading.magneticHeading * 3.14159 / 180)];
}
Если вы хотите, чтобы точка поворота аннотационных видов была, скажем, центром снизу, я полагаю, что вы установите точку привязки каждого вида следующим образом:
annotationView.layer.anchorPoint = CGPointMake(0.5, 1.0);
I 'У меня все еще есть некоторые проблемы с изменением позиции annotationView, когда я делаю это (хотя, вероятно, та же проблема, что и в вопросе stackoverflow: change-my-calayers-anchorpoint-move-the-view).