2012-10-27 14 views
8

Programm stürzt ab, wenn die Positionskoordinaten mit MKMapView festgelegt wurden. Log:MKMapView NSInvalidArgumentException Fehler beim Absturz der Region in ios6

beenden app aufgrund nicht abgefangene Ausnahme 'NSInvalidArgumentException' Grund: 'ungültige Region <center:+112.57075000, +37.87049600 span:+0.05165163, +0.43945312>'

Spanne in meinem Programm ist

MKCoordinateSpan span; 
span.latitudeDelta = .05; 
span.longitudeDelta = .02; 

nach der Codierung:

self.mMKMapview.region = [self.mMKMapview regionThatFits:region]; 

als Das Protokoll zeigt, übergibt Änderungen an: +0.05165163, +0.43945312

jemand bitte helfen, ich habe hier für zwei Tage stehen geblieben.

Danke!

Antwort

10

Das Problem ist die center Koordinate:

+112,57075000, +37,87049600

Die Breite muss von -90 bis +90 so 112,57075 außerhalb des Bereichs liegt.

Überprüfen Sie, wie die Mittelkoordinate eingestellt wird oder ob die Daten möglicherweise rückwärts sind.


Auch brauchen Sie nicht explizit regionThatFits nennen, weil die Kartenansicht automatisch tut, wenn Sie die Region normalerweise gesetzt (dh. Nur setRegion nennen). Es ist übrigens normal, dass die Kartenansicht den Bereich so anpasst, dass er den Abmessungen der Kartenansicht oder der Zoomstufe entspricht.

1

Ich verwende den folgenden Code, um die Region zu setzen:

if(centerLat > -89 && centerLat < 89 && centerLng > -179 && centerLng < 179){ 
    [self.mapView setRegion:region animated:YES]; 
} 
Verwandte Themen