2011-08-11 17 views
0

Googleが提供する北東および南西の点からMKCoordinateRegion(地図上の良好な領域にズームするため)を作成したいと考えています。そのためには、これら2つの座標の間の中心の座標を計算する必要があります。どんな手掛かり?私は簡単な数学をすることができますが、私は赤道に問題があります...iOS - 2つの座標の中心の位置

ありがとう!!!

+0

これらの回答のいずれかが役に立ちましたか? – Craig

答えて

-1

This SO postには、すべてのアノテーションに合わせてマップビューをズームするコードがあります。

+0

ありがとうございますが、赤道では問題があるようです... – ncohen

+0

赤道または反メリダンを意味しますか?赤道には緯度が連続しているので、赤道に問題がある理由はありません。 – Craig

0

赤道ではなく反子午線を意味すると仮定すると、ここに入ります(このすべてが平坦な地図上で動作し、目的には十分である必要がありますが、球面上に完全にぶら下がっています。

私は他のケースでやったことのいずれかの時点で開始し、次のポイントは、東に180度以上であれば、それはとても

などの西に180未満になるように、私はそれを変換しています

場合 - pointb.lon + = 360(pointa.lon> 180 pointb.lon):この時= 360

- ( - pointb.lon < -180 pointa.lon) pointb.lonそうならpointb.lonは190のような無効な経度かもしれませんが、pointaとpointbの中間点は連続的なスケールになるので、少なくとも175と190の点を持つことができます。それらの中間点を182.5として取得し、それを変換して通常の範囲内にあることを確認し、2点間の緯度として-177.5を取得します。緯度を計算するのは簡単です。

もちろん、(-180,89)と(180,89)の中間点は(0 *、90)ではないため、これは間違っています(0,89)。
* =何でもかまいません

-1

また、定義されたコーナーでズームインすることもできませんでしたか?それはあなたがこの計算をして、次にあなたが知っている2つのコーナーを含めるために、そのポイントを中心にする必要があるズームレベルを解決することになる次の1つを保存します。マップアプリは反子午線上をスクロールして表示されないので、私はMKMapviewもそうではないと思うので、四角形は北東の座標を右上に、南西を左下に持つ必要があります。

+0

あなたの答えに追加する投稿をしないでください。以前の回答を編集するだけです。ここの質問と回答は、フォーラムのスレッドとは異なります。 –

+0

私は自分の答えが問題を解決する2つの異なる方法であると感じ、別々に入力したので、ユーザーはどちらが最善のものかを選ぶことができました。しかし、彼らはどこかにいなくなってしまっていて、どちらかにコメントしていないように見えます。 – Craig

関連する問題