2012-04-19 4 views
0

2 탭 응용 프로그램이 있습니다. 이러한 탭 중 하나가 맵보기를로드하고 몇 개의 좌표 (주석 핀 포인트)를 가리 킵니다. 이 모든 것이 제대로 작동합니다.MapVIew에서 오류가 발생했습니다 - 잘못된 좌표 - 초보

하지만 첫 번째 탭을 클릭 계속하고 지속적으로 두 번째 때 다음과 같은 오류를 얻을

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid Coordinate -180.00000000, -180.00000000' 

나는 그런 좌표가없는,하지만 난 계속 경우에만 계속 탭을 클릭 온다 . 이 문제를 어떻게 해결할 수 있습니까?

답변

0

내 앱에서 탭을 전환 할 때도 동일한 문제가있었습니다. MKMapView에 할당하기 전에 좌표의 유효성을 검사하여 문제를 해결했습니다.

if (-90.0f <= coordinate.latitude && coordinate.latitude <= 90.0f && 
    -180.0f <= coordinate.longitude && coordinate.longitude <= 180.0f) 
{ 
    // assign the validated coordinate to MKMapView 
} 
3

시도가 CLLocationCoordinate2DIsValid 속성을 사용하는 : 나는 다음 코드와 검증을했다. 좌표가 정확하거나 틀린 경우 true를 반환합니다.
예 :

if (CLLocationCoordinate2DIsValid(yourCLLocation2D)) { 
    //coordinate is correct 
} else { 
    //wrong coordinate 
} 
관련 문제