我正在开发一个增强现实项目,其中指南针显示到目的地的方向。效果很好,但我想检查当前航向是否指向目的地。任何人都可以建议我一种方法吗?我在谷歌搜索了很多找不到任何方法?
提前致谢
您需要从您所在位置到目标位置的绝对方位角
不幸的是 CLLocation 对此没有要求,但您可以在这个问题中找到算法。
所以假设方位角是 90 度
然后你把手机的方位向北。
在获取位置更新时,您还可以使用 CLLocation 进行课程更新。
课程也可能是 90 度
所以找到两者之间的差异,90 - 90 = 0!你死在目标上:) 如果你面对北方(0度)并且你的目标在你身后(180度)导致-180,你需要将数字合理化为0 - 360。如果你最终得到一个负数,只需添加 360。
我发现磁场罗盘非常烦躁,所以如果你有某种指数移动平均线来衡量手机轴承的变化,它看起来会更好。