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