Я хочу рассчитать расстояние между 2 lat & long. Я могу рассчитать расстояние, как показано нижеПолучите расстояние между 2 широтой и долготой в iOS6 +
CLLocation *currentLoc = [[CLLocation alloc] initWithLatitude:-24.4132995 longitude:121.0790024];
CLLocation *restaurnatLoc = [[CLLocation alloc] initWithLatitude:-32.8310013 longitude:150.1390075];
CLLocationDistance meters = [restaurnatLoc distanceFromLocation:currentLoc];
NSLog(@"Distance between 2 geo cordinates: %.2f Meters",meters);
Теперь я хочу, чтобы получить направление от CurrentLocation к restaurnatLoc. Для этого у меня есть ниже код
double DegreesToRadians(double degrees) {return degrees * M_PI/180;};
double RadiansToDegrees(double radians) {return radians * 180/M_PI;};
-(double) bearingToLocationFromCoordinate:(CLLocation*)fromLoc toCoordinate:(CLLocation*)toLoc
{
double lat1 = DegreesToRadians(fromLoc.coordinate.latitude);
double lon1 = DegreesToRadians(fromLoc.coordinate.longitude);
double lat2 = DegreesToRadians(toLoc.coordinate.latitude);
double lon2 = DegreesToRadians(toLoc.coordinate.longitude);
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);
return RadiansToDegrees(radiansBearing);
}
возвращает подшипник = 114,975752 Теперь, как я могу решить, стоит ли ресторан в Северной, Южной, Западной, Восточной, NW, NE, SW, SE от моего текущего местоположения?
Я получаю 1 решение по этой ссылке Direction based off of 2 Lat,Long points Но если я рассматриваю это решение, то у меня есть сомнения относительно подшипника 114 из моего местоположения (красного круга) в ресторан (зеленый круг), как показано ниже. Поправьте меня, если я ошибаюсь.
Как текущего местоположения «Западная Австралия» & ресторан расположение «Сидней», как показано на Google Maps.
Может ли любое тело сказать мне, что здесь происходит неправильно? Благодарю.
///////////////////////////// Обновление ////////////// ///////////////
Неправильная диаграмма компаса. Вот правильная схема все благодаря AlexWien
Теперь я получаю правильный вывод
My bad ... Very sorry Извините. На самом деле у меня нет iPhone, я работаю над iPod touch. Спасибо, что указал мне. – iOSAppDev