-Кос возвращает направление движущегося объекта. Таким образом, вы бы позвонили в текущее местоположение вашего пользователя. Это не дает вам направления от вашего местоположения в другое место. Поэтому, если Нью -Йорк не движется, он всегда вернется -1
Если вы хотите, чтобы найти был направлен на поиск компаса, вы должны двигаться, вы можете сделать это:
#define RAD_TO_DEG(r) ((r) * (180 / M_PI))
...
CLLocationCoordinate2D coord1 = currentLocation.coordinate;
CLLocationCoordinate2D coord2 = distLoc.coordinate;
CLLocationDegrees deltaLong = coord2.longitude - coord1.longitude;
CLLocationDegrees yComponent = sin(deltaLong) * cos(coord2.latitude);
CLLocationDegrees xComponent = (cos(coord1.latitude) * sin(coord2.latitude)) - (sin(coord1.latitude) * cos(coord2.latitude) * cos(deltaLong));
CLLocationDegrees radians = atan2(yComponent, xComponent);
CLLocationDegrees degrees = RAD_TO_DEG(radians) + 360;
CLLocationDirection heading = fmod(degrees, 360);