2016-06-09 7 views
2

Wie den Fehler zu reproduzieren:iOS MKMapView akzeptiert keinen Breitenwert größer als 45.x?

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 

und die print-Anweisung druckt diese:

CLLocationCoordinate2D(latitude: 44.880507991448255, longitude: 100.00000000000004) 

Das Problem ist, dass ich eingestellt tatsächlich die Breite auf 60 an der Linie 2 jedoch die resultierende Breite ist 44.88 x. Und ich habe andere Werte über 45 ausprobiert, und sie sind auch nicht korrekt. Irgendwelche Ideen? Vielen Dank!

+0

http://stackoverflow.com/questions/15965166/what-is-the-maximum-length-of-latitude -und-longitude Ich vermute, hat etwas mit der Karte zu tun, nicht in der Lage, ein gültiges Quadrat mit dieser Höhe eines Bereichs zu machen. Versuchen Sie es mit einer kleineren Spanne oder einer unteren Mitte. –

+1

Haben Sie versucht 'let region = MKCoordinateRegionMake (CLLocationCoordinate2DMake (60.0,100.0), MKCoordinateSpanMake (20, 20)) mapView.region = region'? – Paulw11

+0

@ Paulw11 OMG es funktioniert! Könntest du ein paar Erklärungen geben (oder sogar raten), warum das funktioniert, aber meine vorherigen separaten Aussagen nicht funktionieren? Und würde es Ihnen etwas ausmachen, Ihren Kommentar als Antwort zu geben, damit ich es akzeptieren kann? Vielen Dank. –

Antwort

2

Dies scheint ein Problem mit Swift zu sein. Wenn Sie diesen Code in Objective-C versuchen

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

Der Compiler gibt einen Fehler expression is not assignable. Der richtige Ansatz ist es, eine neue Region zu schaffen und dann diese Region in die Kartenansicht zuweisen:

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

Oh, ich verstehe. Ich danke dir sehr! –

Verwandte Themen