Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Документация Apple неверна о MKMapView -regionThatFits :?

Автор вопроса: jtrimОтветов: 1

В документации Apple для -regionThatFits: метода MKMapView говорится, что это вернет новую область с центром в той же точке, что и переданная область, только с корректировкой границ областей для соотношения сторон экрана iPhone. Это кажется неправильным в реализации ... до вызова этого метода мой регион отображается как:

$5 = {
  center = {
    latitude = 37.322898864746094,
    longitude = -122.03209686279297
  },
  span = {
    latitudeDelta = 14.278411865234375,
    longitudeDelta = 1.5202401876449585
  }
}

.. однако после вызова этого метода я получаю:

$6 = {
  center = {
    latitude = 36.973427342552824,
    longitude = -122.03209686279297
  },
  span = {
    latitudeDelta = 14.521333317196799,
    longitudeDelta = 14.0625
  }
}

Это довольно большая разница на карте - это означает расстояние между Купертино, Калифорния, и Санта-Крус, Калифорния. Кто-нибудь еще испытывает это несоответствие?

  • О, а вот ссылка на часть документации: developer.apple.com/iphone/library/documentation/MapKit/ jtrim 24.03.2010
  • Было бы действительно полезно, если бы вы также указали регион, который вы передали в -regionThatFits :. Jeff Kelley 24.03.2010
  • Джефф, прости. В частности, область, которую я передал в -regionThatFits:, является первым блоком кода выше. Регион, который впоследствии выплевывает -regionThatFits:, является вторым. jtrim 24.03.2010

iosiphonemapkitcore-locationmkmapview

Ответы

Ответ 1 · Ortwin Gentz

Я предполагаю, что это проблема округления, поскольку вы использовали большое значение latitudeDelta. Чтобы убедиться, что ваш центр никогда не изменяется, вы можете сначала установить скорректированную область, а затем повторно установить центр на старое значение, используя свойство centerCoordinate.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы