2012-04-19 16 views
0

私は2つのタブアプリケーションを持っています。これらのタブの1つがマップビューをロードし、いくつかの座標(注釈ピンポイント)を指し示します。これらはすべて適切に動作します。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プロパティを使用してみてください:私は次のコードでの検証を行いました。座標が正しければ真、そうでなければ真を返します。
例:

if (CLLocationCoordinate2DIsValid(yourCLLocation2D)) { 
    //coordinate is correct 
} else { 
    //wrong coordinate 
} 
関連する問題