Meteor客户端代码需要测量移动电话的减速度,同时垂直面向正好将用户安装在制动车内的用户。
由于开发环境位于笔记本电脑上,event.acceleration
可能无法始终使用event.accelerationIncludingGravity
。
如何做到这一点?
if (window.DeviceMotionEvent) {
window.addEventListener("devicemotion", handleMotionEvent, true);
}
function handleMotionEvent(event) {
let y = event.accelerationIncludingGravity.y;
let z = event.accelerationIncludingGravity.z;
let a = Math.sqrt(y * y + z * z); //horizontal acceleration regardless of device beta angle
console.log(y + ' : ' + z); // 0.5 : 9.85344
}
我希望看到负的“z”值吗? 为什么9.8值包含在“z”中而不包含在“y”中?