Objective c 了解CLLocationCourse过程中是否有一个点

Objective c 了解CLLocationCourse过程中是否有一个点,objective-c,ios,xcode,navigation,coordinates,Objective C,Ios,Xcode,Navigation,Coordinates,我有两个点,一个静态地图注释和移动的用户设备。对于这两个点,我有Lat和Long,对于移动设备,我有课程,以0度表示N,90度表示E,依此类推。我怎样才能知道第二个静态点是否在我的位置的N,E,W,S处 假设您的设备位于点(x,y),静态点位于(xs,ys) 考虑这两点之间的直角三角形。它有长度为xs-x和ys-y的导管,因此x轴和斜边之间的角度为arctan((ys-y)/(xs-x))。请注意,斜边指向(xs,ys)的方向,因此该角度告诉您该点位于哪个方向 如果角度为0,则静态点位于东部 如

我有两个点,一个静态地图注释和移动的用户设备。对于这两个点,我有Lat和Long,对于移动设备,我有课程,以0度表示N,90度表示E,依此类推。我怎样才能知道第二个静态点是否在我的位置的N,E,W,S处

假设您的设备位于点
(x,y)
,静态点位于
(xs,ys)

考虑这两点之间的直角三角形。它有长度为
xs-x
ys-y
的导管,因此x轴和斜边之间的角度为
arctan((ys-y)/(xs-x))
。请注意,斜边指向
(xs,ys)
的方向,因此该角度告诉您该点位于哪个方向

如果角度为
0
,则静态点位于东部

如果角度为pi/2,则静态点位于北面

如果角度为
pi
,则静态点为向西

如果角度为
3*pi/2
,则静态点位于南部

如果要将此角度转换为0度为北,90度为东,等等,只需计算
(360+90-角度*180/pi)%360