以下代码片段中的 alpha 值应根据设备的旋转在 0 到 360 之间变化:
window.addEventListener('deviceorientation', function(eventData) {
var LR = eventData.gamma;
var FB = eventData.beta;
var DIR = eventData.alpha;
deviceOrientationHandler(LR, FB, DIR);
});
这种变化应该取决于它所面对的风向。为此,该设备使用磁力计/指南针。
当我在 ipad 3 上测试时,我遇到了以下问题:
它从 0 到 360 变化,但以相对的方式变化。页面加载时显示 0,然后在 0 和 360 之间变化。但是当设备旋转并刷新页面时,它再次开始显示 0,然后在这些值之间变化。
因为它应该遵循风向,我试图找出北方在哪里,我需要它以绝对方式而不是相对方式来做到这一点。又名:无论页面加载时设备面向的时间和方向,在面向某处时始终显示相同的值。
这些资源表明 API 应该能够做到这一点:
和这个:
这是一个示例,当面向北方时“方向”应为 0(或至少返回一致的值):
html5rocks 页面包含一个示例(ctrl + f 和“试用”)。不能发布超过 2 个 URL
这是指示设备面对的风向的正确方法吗?我需要将它与 Google Maps Api 结合使用。
最后,我知道 Ipad 3 有指南针应用程序,因此该设备应该能够做到这一点。
我很困惑 :)