Как сохранить уровень масштабирования и видимую область для MKMapView во время изменения ориентации?
Я использую MKMapView
в одной из моих карт. Допустим, я увеличил масштаб, чтобы увидеть область в портретной ориентации, и после того, как я изменил ориентацию устройства, я хочу, чтобы карта показала ту же область до того, как я выполню поворот.
Я пытался хранить Region
а также VisibleMapRect
до вращения (из WillRotate
метод) и применить его обратно после окончания вращения (в DidRotate
метод).
Но это не работает, как ожидалось. Поскольку в портретной ориентации видимая область больше похожа на квадрат, когда я применяю эту видимую область в альбомной ориентации, некоторые отступы добавляются с обеих сторон карты, поскольку карта теперь имеет большую ширину. Так что в основном видимая область увеличивается больше. Теперь снова, если я поворачиваю устройство в портретное положение, оно пытается установить увеличенную видимую область, а не исходную квадратную область.