MKCoordinateRegion
が良いかどうかをすばやくテストする方法はありますか?緯度を経度に交換したところ、アプリケーションがクラッシュしました。setRegion
実際にやる前に、やれるかどうか見てみたいです。私MKCoordinateRegionMake
が与えた値をテストしますか?
ありがとう。
MKCoordinateRegion
が良いかどうかをすばやくテストする方法はありますか?緯度を経度に交換したところ、アプリケーションがクラッシュしました。setRegion
実際にやる前に、やれるかどうか見てみたいです。私MKCoordinateRegionMake
が与えた値をテストしますか?
ありがとう。
緯度と経度をどこかで入れ替えたことがわかりました。これが私が使用することになったコードです:
// check for sane span values
if (currentRegion.span.latitudeDelta <= 0.0f || currentRegion.span.longitudeDelta <= 0.0f) {
currentRegion.span.latitudeDelta = 1.0f;
currentRegion.span.longitudeDelta = 1.0f;
}
// check for sane center values
if (currentRegion.center.latitude > 90.0f || currentRegion.center.latitude < -90.0f ||
currentRegion.center.longitude > 180.0f || currentRegion.center.longitude < -180.0f
) {
// Take me to Tokyo.
currentRegion.center.latitude = 35.4f;
currentRegion.center.longitude = 139.4f;
}
私は地図をあまりいじっていないので、これを一粒の塩で取ってください。
緯度、経度、スパンの値を使用する前に、範囲チェックを行う必要があるようです。緯度と経度は、すべての場合で-180〜180の値にする必要があります。
緯度と経度を入れ替えてもクラッシュすることはないと思います。それらは両方ともまったく同じ単位(度)と範囲(-180-> 180)を持っています。緯度のすべての有効な値は経度の有効な値でもあり、その逆も同様です。このため、MKCoordinateRegionMakeは、値が有効な座標であり、目的の場所の近くではないため、値を交換したことを通知できません。
あなたの問題は他のところにあると思います。