3
私のアプリケーションでは、mkmapviewの2つのポイント間にルートを表示していますが、これらの2つのポイントの方向を示したいと思います。 poitの緯度と経度はNSArrayに格納されます。地図上の指示
私のアプリケーションでは、mkmapviewの2つのポイント間にルートを表示していますが、これらの2つのポイントの方向を示したいと思います。 poitの緯度と経度はNSArrayに格納されます。地図上の指示
これは遅すぎる可能性があります。既に解決済みですが、ここではテストして正しく機能する解決策があります。
私が試した他の実装が約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;