Почему меняется MKCoordinateSpan? - PullRequest
0 голосов
/ 29 марта 2010

Когда я отлаживаю код ниже, я вижу, что span изменяется mapkit от того, что я предоставил. span2 содержит номера, отличные от предоставленных. Почему это происходит?

- (void) viewDidLoad
{
    [super viewDidLoad];

    CLLocationCoordinate2D loc;
    loc.latitude = self.atm.lat;
    loc.longitude = self.atm.lon;

    MKCoordinateSpan span1 = MKCoordinateSpanMake(0.05f, 0.05f);
    self.mapView.region = MKCoordinateRegionMake(loc, span1);
    // at this point numbers are not 0.05 anymore
    MKCoordinateSpan span2 = self.mapView.region.span;
// ... more code
}

Ответы [ 2 ]

1 голос
/ 29 марта 2010

Обратите внимание, что широта и долгота изменяются по-разному, поэтому квадратный MapView фактически отображает регион с различными значениями диапазона для его координат. Это может привести к тому, что область вашего обзора карты будет иметь (немного?) Интервал, отличный от заданного вами.

В отношении свойства региона MKMapView есть несколько уместная фраза:

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

0 голосов
/ 31 марта 2010

Квадратный MapView с одинаковыми значениями для широтного и продольного пролета почти всегда будет испытывать изменение, указанное выше, так как продольная длина дуги значительно изменяется при перемещении от экватора к любому полюсу. Когда широта приближается к +/- 90, длина продольной дуги приближается к 0.

Кроме того, идентичные значения диапазона также изменятся, если область MapView не будет квадратной (поскольку диапазон относится только к области, фактически видимой в то время).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...