На iPhone 3Gs, если вы дважды щелкнете по маленькому символу «показать мое местоположение» в левом нижнем углу окна, он переключится в режим, в котором карта поворачивается так, что север на карте направлен на север в соответствии с компас. У меня нет 3G, поэтому я только что узнал об этом от приятеля, у которого он есть.
Я попытался применить преобразование вращения к слою MKMapView, например:
CATransform3D rotationTransform = CATransform3DIdentity;
rotationTransform = CATransform3DRotate(rotationTransform, degreesToRadians(-20), 0.0, 0.0, 1.0);
theMapView.layer.transform = rotationTransform;
Это вроде работает, но не совсем. Содержимое карты вращается, но рамка вращается и растягивается. Вид карты заканчивается полосой, растянутой по диагонали по экрану, и заканчивается кнопками в моем представлении.
Я попытался заключить карту в другой вид, чтобы изолировать ее, но это тоже не сработало. Затем я попытаюсь повернуть вмещающее представление, но я надеюсь, что кто-то еще понял это. Попытка заставить его работать методом проб и ошибок в лучшем случае, вероятно, будет трудной.
С уважением,
Дункан С