2012-08-10 109 views
0

我正在开发一个增强现实项目,其中一个指南针显示目的地的方向。这工作正常,但我想检查当前标题是否指向目的地。 任何人都可以告诉我一种方法吗? 我在Google搜索了很多找不到任何方法?如何识别指南针是否正朝向位置?

在此先感谢

+0

所以你基本上想要检测设备是否朝北? – 2012-08-10 13:43:12

+0

是的,我想检查航向是否朝北。我想检查设备是否指向该位置。 – 2012-08-10 13:46:19

回答

0

你需要从你的位置的绝对轴承您的目标位置

可惜CLLocation没有这个来电,但你可以找到这个问题的算法中。

CLLocation Category for Calculating Bearing w/ Haversine function

因此,可以说,轴承是90度

然后你拿到手机轴承向北。

当您获取位置更新时,您还可以使用CLLocation进行课程更新。

课程也可能是90度

于是找到了两下,90岁的差别 - 90 = 0!你已经死了目标:)如果你面向北方(0度),你的目标落后于你(180度),导致-180,你需要将数字合理化为0-360。如果你最终得到一个负数只需加360.

我发现磁场罗盘非常非常的烦躁,所以如果你对手机轴承的变化有某种指数移动平均值,它会看起来更好。