Я изменил свой расчет для направления со ссылкой на ссылку
Расчет подшипника между двумя CLLocationCoordinate2Ds
double poiLon = coordinate.coordinateGeoLocation.coordinate.longitude;
double poiLat = coordinate.coordinateGeoLocation.coordinate.latitude;
double a = poiLon - self.currentLocation.coordinate.longitude;
double b = poiLat - self.currentLocation.coordinate.latitude;
poiLon=degreesToRadians(coordinate.coordinateGeoLocation.coordinate.longitude);
poiLat=degreesToRadians(coordinate.coordinateGeoLocation.coordinate.latitude);
double radCurrLatPoi=degreesToRadians(self.currentLocation.coordinate.latitude);
double radCurrLonPoi=degreesToRadians(self.currentLocation.coordinate.longitude);
a=sin(poiLon-radCurrLonPoi)*cos(poiLat);
b=cos(radCurrLatPoi)*sin(poiLat)-sin(radCurrLatPoi)*cos(poiLat)*cos(poiLon-radCurrLonPoi);
//sin(tLng-fLng)*cos(tLat), cos(fLat)*sin(tLat)-sin(fLat)*cos(tLat)*cos(tLng-fLng)
double alpha = 180.0 * atan2(a, b) / M_PI;
if (alpha < 0.0)
alpha += 360.0;
else if (alpha > 360.0)
alpha -= 360.0;
CLLocationDirection theHeading = self.currentHeading.trueHeading;
double deltaOrient = alpha - theHeading;
CGFloat X = 320.0/2.0 + (deltaOrient * 320.0f / 30.0);//x position
Примечание: poiLon, poiLat - из позиций вэтот контекст radCurrLatPoi, radCurrLonPoi-To позиционировать в этом контексте
Это хорошо работает для нескольких точек ,, Это не соответствует этому конкретному сценарию
Мое текущее местоположение: 18.551861,73.942108
Моя точка интереса: 73,943202,18,552456 73,943693,18,552754 73,943275,18,552687
Я думаю, это может быть связано с тем, что я завершила 360-градусный ... Любое предложение