2010-12-06 5 views
2

背景:私はマップを大量に使用する一連の位置情報ベースのアプリケーションを構築しています。これらのマップには、サーバーからフェッチされた位置が注釈されており、データが必要なマップの領域を渡します(緯度/経度、latDelta/longDelta、MKCoordinateRegionと同じように定義されていますが、 。私は、これらの地域を管理する際に使用するヘルパーメソッド/クラスをたくさん作成しています。 iOS 3.xとの互換性が必要です(MKMapRectが出ていることを意味します)。MKCoordinateRegionを四角形のように扱うことは、私に襲われることになりますか?

質問:矩形のようなMKCoordinateRegionsを処理することで、失敗して自分自身を設定していますか?具体的には、四角形と同じ性質を持っていると仮定して、四角形のようにジオメトリを扱います。私はCGRectのヘルパーメソッド(MKCoordinateRegionUnion/Inset/Outsetなど)を反映するいくつかのメソッドを実装しました。これらはすべて単体テストを渡しますが、根本的な前提が正しいかどうか疑問に思っています。実際、MKCoordinateRegionは幾何学的な矩形を表現するのではなく、互いに直交する2組の平行な平面に束縛された球面の領域(より良い言葉で私を手がかりにすることができればボーナスポイント)です。

私はまだ異常はありませんが、多くのアプリがジオメトリの理解に頼っているので、間違った経路をたどってしまっているかどうかはわかります。私が3次元の放射状の幾何学を扱っている学校のほとんどのクラスを眠っていたという事実は、私の直感が正しいという自信を多く与えるものではありません。

答えて

5

赤道、素子午線、および日付線のエッジケースを考慮しているなら、あなたは大丈夫だろうと思います。

また、rectのような独自のMKMapRectを開発することもできます。トロイブラントはrectsが形成されているかについての素晴らしいブログ記事があります。ブログの記事は、ズームレベルについて主にある

http://troybrant.net/blog/2010/01/mkmapview-and-zoom-levels-a-visual-guide/

ますが、すべての情報、独自のマップRECTライブラリーを構築するために使用することができます。

球の表面に大きな円で囲まれた領域は、球状ポリゴンと呼ばれます。だから私は球面矩形と呼ぶことができると思います。

関連する問題