Лучший метод, который я нашел для этого вычисления, заключался в использовании сферического закона косинусов.Существует функция C, чтобы сделать это доступной здесь на github , называемая headingInDegrees.Он принимает две пары lat / long и возвращает заголовок:
/*-------------------------------------------------------------------------
* Given two lat/lon points on earth, calculates the heading
* from lat1/lon1 to lat2/lon2.
*
* lat/lon params in degrees
* result in degrees
*-------------------------------------------------------------------------*/
double headingInDegrees(double lat1, double lon1, double lat2, double lon2);
Поскольку CLLocationCoordinate2d содержит широту и долготу, эти два поля легко передать в эту функцию и вернуть заголовок.