1

私は を持っていてCLLoctionCoordinate2D、それから特定の距離にあるポイントを把握したいと考えています。例として、100 マイルを使用してみましょう。そのため、そのポイントの北、南、東、西の 100 マイルをコンピューターで計算したいと考えています。

東と西はかなり簡単です。両方の座標を*に変換しMKMapPointsて使用しました。緯度が一定であるため、これは東と西でうまく機能します。distanceInMetersMKMapPointsPerMeterAtLatitude(latitude)

ただし、これは北と南では機能しません。北では過小評価され、南では過小評価MKMapPointsPerMeterAtLatitudeされます (移動するにつれて が変化するため)。北と南のこれらのポイントをどのように計算できますか?

4

2 に答える 2

2

緯度 1 度あたり 60 海里あります。これは経度にも当てはまりますが、赤道のみです。海里で経度の距離を計算するには、経度×60nm×cos(ラジアンの緯度)で距離を掛けます。

MKMapPoints ではなく緯度経度で新しいポイント (北 100 マイル、南 100 マイルなど) の計算を行い、緯度/経度 (CLLocationCoordinate2D ?) ポイントを MKMapPoints に変換します。

于 2012-05-01T04:53:37.270 に答える
0

緯度の線は、地球のコアから測定されるように、常に一定の角度で離れています。したがって、あなたがする必要があるのは、それらがどれだけ離れているかをマイルで計算し、それを使用して南北に 100 マイルを取得し、そのマップ ポイントを取得することです。地球の表面での距離の式は、おそらくメートルまたはキロメートルで、どこかでオンラインになります。

于 2012-04-25T22:57:36.767 に答える