2011-06-23 14 views
3

私のアプリケーションでは、mkmapviewの2つのポイント間にルートを表示していますが、これらの2つのポイントの方向を示したいと思います。 poitの緯度と経度はNSArrayに格納されます。地図上の指示

答えて

0

これは遅すぎる可能性があります。既に解決済みですが、ここではテストして正しく機能する解決策があります。

私が試した他の実装が約25degressで結果を出したと言います。

newLocationはCLLocationManagerDelegateから取得し、latlngofAnnはユーザーがアプリで選択したMKAnnotationです。

latとlonのデータを配列のwhatsに置き換えてください。

double lat2 = latlngOfAnn.coordinate.latitude * M_PI/180.0; 
double lon2 = latlngOfAnn.coordinate.longitude * M_PI/180.0; 
double lat1 = newLocation.coordinate.latitude * M_PI/180.0; 
double lon1 = newLocation.coordinate.longitude * M_PI/180.0; 

double dLon = lon2 - lon1; 
double y = sin(dLon) * cos(lat2); 
double x = cos(lat1) * sin(lat2) - sin(lat1) * cos(lat2) * cos(dLon); 
double radiansBearing = atan2(y, x); 

if(radiansBearing < 0.0) 
    radiansBearing += 2*M_PI; 

double bearing = radiansBearing * 180.0/M_PI; 
関連する問題