2012-10-27 6 views
8

Program ulega awarii po ustawieniu współrzędnych lokalizacji za pomocą MKMapView. Log:MKMapView NSInvalidArgumentException Nieprawidłowa awaria regionu w ios6

Zakończenie aplikację spowodowane nieprzechwyconego wyjątku 'NSInvalidArgumentException', powód: 'Nieprawidłowy region <center:+112.57075000, +37.87049600 span:+0.05165163, +0.43945312>'

rozpiętość w moim programie jest

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

po kodowaniu:

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

as log pokazuje zmiany w zakresie: +0.05165163, +0.43945312

proszę o pomoc, jestem tu przez dwa dni.

Dzięki!

Odpowiedz

10

Problemem jest center współrzędne:

+112,57075000, +37.87049600

szerokość powinna być w zakresie od -90 do + 90 tak 112,57075 jest poza zasięgiem.

Sprawdź, w jaki sposób ustawiana jest współrzędna środka, lub może dane są wstecznie.


Ponadto, nie trzeba jawnie wywołać regionThatFits ponieważ mapa robi to automatycznie, gdy region ustawić normalnie (tj. Wystarczy zadzwonić setRegion). Nawiasem mówiąc, w widoku mapy można dostosować zakres, w zależności od potrzeb, w celu dopasowania do wymiarów widoku mapy lub poziomu powiększenia.

1

używam następujący kod, aby ustawić region:

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