iOS MKMapView не принимает значения широты больше 45.Икс?


Как воспроизвести ошибку:

let mapView = MKMapView.init(frame: UIScreen.mainScreen().bounds)
mapView.region.center = CLLocationCoordinate2D.init(latitude: 60, longitude: 100)
mapView.region.span = MKCoordinateSpanMake(20, 20)

print(mapView.region.center)

self.view = mapView

И оператор print выводит следующее:

CLLocationCoordinate2D(latitude: 44.880507991448255, longitude: 100.00000000000004)
Проблема в том, что я фактически установил широту 60 в строке 2. Однако полученная широта равна 44.88 x. и я попробовал другие значения выше 45, и они также не верны. Есть идеи? Спасибо!
1 2

1 ответ:

Похоже, это проблема со Свифтом. Если вы попробуете этот код в Objective-C

mapView.region.center = CLLocationCoordinate2D.init(latitude: 60, longitude: 100)

Компилятор выдает ошибку expression is not assignable. Правильный подход состоит в том, чтобы создать новый регион, а затем назначить этот регион виду карты:

let region = MKCoordinateRegionMake(CLLocationCoordinate2DMake(60.0,100.0), MKCoordinateSpanMake(20, 20))
mapView.region = region