我正在尝试计算针脚在何种程度上对用户的位置。因此,如果引脚直接位于用户的位置下方,则它将为180度。直接向右是90.在154度之间可能有一个。 0度是用户位置以北0度。直接向南是180度。
我一直在计算这个问题,我想知道这是否可行?任何想法将不胜感激!
答案 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;