不能在另一篇文章中为出色的解释添加评论,但想提一下,可以在这里找到一个很棒的文档来源。
为加速度计注册事件函数就足够了,如下所示:
if(window.DeviceMotionEvent){
window.addEventListener("devicemotion", motion, false);
}else{
console.log("DeviceMotionEvent is not supported");
}
使用处理程序:
function motion(event){
console.log("Accelerometer: "
+ event.accelerationIncludingGravity.x + ", "
+ event.accelerationIncludingGravity.y + ", "
+ event.accelerationIncludingGravity.z
);
}
对于磁力计,必须注册以下事件处理程序:
if(window.DeviceOrientationEvent){
window.addEventListener("deviceorientation", orientation, false);
}else{
console.log("DeviceOrientationEvent is not supported");
}
使用处理程序:
function orientation(event){
console.log("Magnetometer: "
+ event.alpha + ", "
+ event.beta + ", "
+ event.gamma
);
}
在陀螺仪的运动事件中也指定了一些字段,但这似乎没有得到普遍支持(例如,它在三星Galaxy Note上不起作用)。
GitHub上有一个简单的工作代码