0

2タブのアプリケーションがあります。これらのタブの1つは、マップビューをロードし、いくつかの座標(注釈ピンポイント)を指します。これはすべて正しく機能します。

しかし、最初のタブと2番目のタブをクリックし続けると、次のエラーが発生します

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

私はそのような座標を持っていませんが、これは私がタブを続けてクリックし続けるときにのみ起こります。どうすればこの問題を解決できますか?

4

2 に答える 2

4

CLLocationCoordinate2DIsValidプロパティを使用してみてください。代わりに、座標が正しいかfalseの場合はtrueを返します。
例えば:

if (CLLocationCoordinate2DIsValid(yourCLLocation2D)) {
    //coordinate is correct
} else {
    //wrong coordinate
}
于 2013-08-19T14:46:09.383 に答える
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
}
于 2012-11-13T16:45:41.000 に答える