他の投稿の優れた説明にコメントを追加することはできませんが、優れたドキュメントソースがここにあることを説明したいと思います。
次のように、加速度計のイベント関数を登録するだけで十分です。
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
);
}
ジャイロスコープのモーションイベントで指定されたフィールドもありますが、それは普遍的にサポートされているようには見えません(たとえば、Samsung Galaxy Noteでは機能しませんでした)。
GitHubに簡単な作業コードがあります