2012-03-22 21 views
0

現在、iPhone用のマッピングアプリを開発中です。カスタムマップでの相対座標計算

MapViewを使用していないので、私はユーザーの場所を自動的にチェックする機能を実装したいと思います。これは多くのサイズのカスタム地図を作成しました。もっと難しい。 Iは、ジオロケーション(緑色のドット)を受信し、カスタム・マップ上の画素の位置にそれを翻訳したいと思い、異なる座標系所与

map

(下記参照)。 Iveは4つのコーナーのジオロケーションを得ましたが、rectは斜めです。 Iveは回転角を計算しましたが、Imはちょうど一般的に混乱しました。

メモ:地図のサイズは地球の球状の性質が計算に入るほど大きくはありません。

ご協力いただきましてありがとうございます。

+0

関連記事:http://stackoverflow.com/questions/6534691/ – Gilbou

+0

これについての解決策はありましたか? – Nina

答えて

0

ジオロケーションをポイントに変換するには、最初にマッピングを理解する必要があります。 Mercatorを使用していると仮定します。

x = R*long 
y = R*(1+sin(lat))/cos(lat) 

ここで、緯度と経度はラジアンです.Rは地球の半径です。画像の縮尺は0 to R*PI

となりますので、view.frame.size内で取得するには縮尺率で除算する必要があります。

点の違いについては、

x2-x1 = R* (long2-long1) 
y2-y1 = R* ( (1+sin(lat2))/cos(lat2) - (1+sin(lat1))/cos(lat1) ) 
関連する問題