【问题标题】:How to identify whether compass is heading towards the location or not?如何识别指南针是否正朝着该位置前进?
【发布时间】:2012-08-07 19:57:28
【问题描述】:

我正在开发一个增强现实项目,其中指南针显示到目的地的方向。效果很好,但我想检查当前航向是否指向目的地。 任何人都可以建议我一种方法吗? 我在谷歌搜索了很多没有找到任何方法?

提前致谢

【问题讨论】:

  • 所以你基本上是想检测设备是否向北移动?
  • 我想检查航向是否朝向北方。我想检查设备是否指向该位置。

标签: iphone gps xcode4.3


【解决方案1】:

您需要从您的位置到目标位置的绝对方位

不幸的是,CLLocation 没有对此的要求,但您可以在这个问题中找到算法。

CLLocation Category for Calculating Bearing w/ Haversine function

假设方位角是 90 度

然后您将手机方位指向北方。

在获取位置更新的同时,您还可以通过 CLLocation 获得课程更新。

路线也可能是 90 度

所以找出两者之间的差异,90 - 90 = 0!你死在目标上:) 如果你面对北方(0度)并且你的目标在你身后(180度)导致-180,你需要将数字合理化为0 - 360。如果你最终得到一个负数,只需添加 360。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 1970-01-01
    相关资源
    最近更新 更多