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 ответ:
Похоже, это проблема со Свифтом. Если вы попробуете этот код в 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