orientationEvent.gamma 需要 +180 到 -180 度
Posted
技术标签:
【中文标题】orientationEvent.gamma 需要 +180 到 -180 度【英文标题】:orientationEvent.gamma is taking +180 to -180 degrees 【发布时间】:2016-08-03 19:38:00 【问题描述】:经过漫长的不眠之夜,我终于设法将一个不错的倾斜处理程序集成到我正在开发的插件中,它可以检测浏览器是否可以处理倾斜,然后运行该浏览器的设备是否可以处理倾斜,设备的纵向或横向....等等等等。
一切都完成后,我开始在不同的设备上测试它。然而,当我在运行 ios 9.3.2 的 ipad air 上尝试它时,出现了一个有趣的麻烦。这是我用来测试方向的部分代码:
function handleOrientation(event)
var alphaQ = event.alpha;
var betaQ = event.beta;
var gammaQ = event.gamma;
var divnamehere = document.getElementById("somediv");
divnamehere.innerhtml = "Alpha:" + alphaQ + "<br>Beta: " +
betaQ + "<br>Gamma: " + gammaQ;
window.addEventListener("deviceorientation", handleOrientation, false);
现在这显示了一个超过 +-90 度的 Gamma 值,并且可以放弃高达 +-180 度。但是 Alpha 的极限是 0 到 360 度,beta 是 -180 到 180 度,Gamma 是 -90 到 +90(不是 180)。
我能想到的唯一原因是 ipad 陀螺仪的工作方式不同。有人可以确认吗?谷歌叔叔让我失望了。
【问题讨论】:
我确实使用了检查将其限制为 90 度,这很容易,但是请有人确认这是否是不同设备中陀螺仪的差异? 【参考方案1】:已确认。在 iPad Air 中,Gamma 旋转为 +180 到 -180,而不是 +90 到 -90。
【讨论】:
以上是关于orientationEvent.gamma 需要 +180 到 -180 度的主要内容,如果未能解决你的问题,请参考以下文章