Objective-C针对用户位置的引脚度

时间:2014-03-26 16:41:55

标签: ios objective-c mkmapview mapkit

我正在尝试计算针脚在何种程度上对用户的位置。因此,如果引脚直接位于用户的位置下方,则它将为180度。直接向右是90.在154度之间可能有一个。 0度是用户位置以北0度。直接向南是180度。

我一直在计算这个问题,我想知道这是否可行?任何想法将不胜感激!

1 个答案:

答案 0 :(得分:2)

假设您有两个点,均由纬度和经度或X,Y组成。假设用户面向北方,可以按如下方式进行:

//Make sure you import math.h

CGPoint currentLocation = CGPointMake(100.2, 55.53);
CGPoint pin = CGPointMake(125.54, 40.23);

//Shift the 2D space to have the currentLocation as the origin
pin.x -= currentLocation.x;
pin.y -= currentLocation.y;

//Calculate the inverse tangent (in radians)
float rad = atan(pin.y/pin.x);

//Convert the radians to degrees
float deg = rad * 180/M_PI;