Objective C map view вопрос - PullRequest
       6

Objective C map view вопрос

2 голосов
/ 10 августа 2010

Я работал с видом карты и наткнулся на следующие переменные: span.longitudeDelta и span.latitudeDelta ... Они, похоже, влияют на величину масштабирования экрана (возможно, установив x / y окна?) Можеткто-нибудь подскажет, что делают эти значения и как они соотносятся с шириной / высотой экранов в градусах широты / долготы?

Спасибо за потраченное время.

Редактировать: Мне интересно, потому что яя пытаюсь выяснить, на какие градусы широты и долготы смотрит мой экран .... Пример: если я увеличу масштаб, то крайняя левая сторона моего экрана может быть 34,533, а правая - 39,324.

1 Ответ

1 голос
/ 11 августа 2010

У вас правильная идея. Эти значения представляют собой ширину и высоту вида карты в градусах с центром в центральной точке карты.

map.region - это MKCoordinateRegion, который вы можете прочитать или установить. MKCoordinateRegion - это структура с двумя полями: center и span. map.region.center - это структура CLLocation2D (которая имеет два поля: широта и долгота), а map.region.span - это структура MKCoordinateSpan с полями, которые вы упомянули.

Если вы хотите установить карту для отображения заданной области, создайте MKCoordinateRegion, установите свойства, а затем убедитесь, что регион соответствует размеру вашей карты с помощью:

MKCoordinateRegion scaledRegion = [map regionThatFits:region];
[map setRegion:scaledRegion animated:NO];

Левый край вашего экрана (примерно, поскольку линии долготы не параллельны):

float leftEdgeLongitude = map.region.center.longitude - (map.region.span.longitudeDelta / 2);
...