Do you know the coordinates of two places?
See CLLocationCoordinate2D :
. . .
. , , .
, , , , , , , , .
latitudinal_distance = destination.latitude - origin.latitude
, , , , . , , , .
distance_east = (origin.longitude > 0 && destination.longitude < 0) ? 180 - origin.longitude + destination.longitude - -180 : destination.longitude - origin.longitude; if (distance_east < 0) distance_east += 360
distance_west = (origin.longitude < 0 && destination.longitude > 0) ? -180 - origin.longitude - 180 - destination.longitude : origin.longitude - destination.longitude; if (distance_west < 0) distance_west += 360
longitudinal_distance = min(distance_east, distance_west)
, , , , . (N, E, S, W) 90 . 8 45 . , .
heading = arctan(longitudinal_distance / latitudinal_distance)
if (heading >= -45 || heading < 45) return 'N'; else if (heading >= 45 && heading < 135) return 'E'; else if ...
, , , , , , . , , , .