绝对设备方向

Posted

技术标签:

【中文标题】绝对设备方向【英文标题】:Absolute device orientation 【发布时间】:2018-09-20 00:14:19 【问题描述】:

我正在尝试读取绝对 DeviceOrientation 事件值来创建 html5 指南针移动 Web 应用程序。

如果我使用此代码,我可以毫无问题地获得 alpha、beta 和 gamma 值:

window.addEventListener('deviceorientation', function(event) 
          alpha = event.alpha;
          beta = event.beta;
          gamma = event.gamma;
  );

但是,这些值对我没有帮助,因为我需要获取绝对值才能找到北的确切位置等。我找到了这个 article,它解释了如何使用事件的绝对值。

当我将代码更改为:

window.addEventListener('deviceorientationabsolute', function(event) 
    alpha = event.alpha;
    beta = event.beta;
    gamma = event.gamma;
    var absolute = event.absolute;
);

Alpha、beta 和 gamma 值设置为空。这对我来说很奇怪,因为 event.absolute 值设置为 true。据此,应该显示事件值。

有人遇到过类似的问题吗?任何帮助,将不胜感激;另外,如果有一些 HTML5 Compass App 的工作示例,将其发布在这里会很有帮助。

提前谢谢你!

【问题讨论】:

【参考方案1】:

尝试将AddEventListenerOptions 的值强制为true,如下所示:

deviceOrientationEvent: function(event)
    console.log(event.alpha);
;
window.addEventListener("deviceorientationabsolute", deviceOrientationEvent, true);

【讨论】:

可以用,但是太敏感了,有没有办法把敏感度降低一点。【参考方案2】:

试试这个 sn-p:

deviceOrientationEvent: function(event)
  console.log(event.alpha);
;

window.addEventListener("deviceorientationabsolute", deviceOrientationEvent, true);

【讨论】:

以上是关于绝对设备方向的主要内容,如果未能解决你的问题,请参考以下文章

在没有 GPS 的情况下获取设备移动方向

python中的方向控制函数

Android在方向上保存视图位置已更改[重复]

[OpenJudge] 宇航员(模拟)

iOS设备方向无视方向锁定

从设备坐标系到绝对坐标系的加速度