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

В документации 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
  }
}

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


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


Ответы (1)


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

person Ortwin Gentz    schedule 24.02.2011