Направление на карте - PullRequest
3 голосов
/ 23 июня 2011

У меня есть приложение показать маршрут между двумя точками на mkmapview в моем приложении, но я хочу показать направление этих двух точек.широта и долгота poitns хранятся в NSArray.

1 Ответ

0 голосов
/ 25 января 2012

Это может быть слишком поздно, и вы, вероятно, уже решили это, но вот решение, которое я протестировал и работает правильно.

Я говорю, что, как и другие реализации, которые я пробовал, результаты были примерно на 25 градусов ниже.

newLocation получается из CLLocationManagerDelegate, а latlngofAnn был выбранным MKAnnotation, который пользователь выбирает в моем приложении.

Просто замените данные lat и lon на значения в вашем массиве.

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...