Опыт работы с MKMapView Rotation - PullRequest
       22

Опыт работы с MKMapView Rotation

8 голосов
/ 06 октября 2009

У меня есть MKMapView, который я планирую вращать, чтобы более удобно отображать серию аннотаций для моих пользователей.

На данный момент я планирую просто повернуть весь вид с помощью CGAffineTransform, но я хотел бы знать, имел ли кто-нибудь опыт работы с вращением MKMapView.

  • Есть ли какие-либо подводные камни или "ошибки", с которыми вы столкнулись при добавлении ротации?
  • Есть ли более простой способ поворота карты?
  • Если у меня есть оверлей, будет ли метод convertCoordinate: toPointToView: работать так же? Я бы предположил, что мне пришлось бы применить такое же преобразование к моему наложению, чтобы точки выстроились в линию, но, возможно, метод умнее этого.

Если есть что-то, что, по вашему мнению, могло бы помочь, я бы с удовольствием все это услышал.


Редактировать: После долгих экспериментов я считаю, что буду использовать статические карты, которые я могу вращать и накладывать самостоятельно, однако мне все равно будет интересна любая информация о вращении MKMapView.

Ответы [ 4 ]

8 голосов
/ 14 октября 2009

Я также планирую использовать повернутый MKMapView в моем приложении. Для отображения аннотаций без поворота я использую следующий код:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
    ...
    annotationView.transform = GAffineTransformInvert(mapView.transform);
    ...
}

Кажется, это работает для меня.

6 голосов
/ 25 ноября 2010

Извините, что оживил законченную тему, но еще одна «ошибка»: если вы измените размер карты так, чтобы она была достаточно большой, чтобы ее можно было повернуть так, чтобы она всегда покрывала весь экран, то вы в конечном итоге обрежете логотип «Google» из внизу слева. Это явно противоречит лицензии, под которой вы используете MapKit, и может служить основанием для отклонения приложения. На практике добавление статической версии логотипа Google в качестве UIImageView сверху кажется приемлемым для всех сторон.

5 голосов
/ 18 ноября 2009

Это свежий образец вращения MKMapView с помощью акселерометра iPhone . Надеюсь, это поможет.

1 голос
/ 06 октября 2009

Я начал работать с вращениями MKMapView и обнаружил, что:

  • Когда вы применяете CGAffineTransform к представлению карты, метод convertCoordinate: toPointToView: работает так же.
  • Аннотации вращаются вместе с видом, включая текст аннотации.
  • Область, которая подходит, по-прежнему соответствует области на экране, она не подходит к виду карты (я сделал мой вид карты больше, чем его родительский вид, чтобы он мог вращаться, не показывая вид сзади). *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...