我正在开发一个增强现实项目,其中指南针显示到目的地的方向。工作正常,但我想检查当前航向是否指向目的地。 任何人都可以建议我这样做吗? 我在Google搜索了很多找不到任何方法?
提前致谢
答案 0 :(得分:0)
您需要从您所在位置到目标位置的绝对方位
不幸的是,CLLocation没有对此进行调用,但你可以在这个问题中找到算法。
CLLocation Category for Calculating Bearing w/ Haversine function
让我们说轴承是90度
然后你把电话带到北方。
在获取位置更新时,您还可以使用CLLocation更新课程。
课程也可能是90度
找到两者之间的差异,90 - 90 = 0!你死在目标:)你需要合理化数字0到360,如果你面向北(0度),你的目标在你后面(180度)导致-180。如果您最终得到负数,则只需添加360。
我发现磁场指南针非常烦躁,所以如果你对手机轴承的变化有某种指数移动平均值,它看起来会更好。