1. ホーム
  2. javascript

[解決済み] Javascriptから加速度センサー/ジャイロスコープのデータにアクセスする方法は?

2022-05-06 19:03:07

質問

最近、ノートパソコンの加速度センサーやジャイロスコープにアクセスして、向きや動きの変化を検知しているようなウェブサイトにいくつか出会いました。

これはどのように行われるのでしょうか?の何らかのイベントを購読しなければなりませんか? window オブジェクトを作成できますか?

どのようなデバイス(ノートパソコン、携帯電話、タブレット)で動作することが知られていますか?


エヌビー : 実はこの質問に対する答えが(一部)既に分かっていますので、早速投稿させていただきます。この質問をここに掲載する理由は、加速度センサーのデータについて、他の皆さんに知っていただくためです。 Javascriptで(特定のデバイスで)利用可能であり、このテーマに関する新しい発見を投稿するようコミュニティに挑戦することです。現在、これらの機能についてのドキュメントはほとんどないようです。

解決するには?

2019+でのやり方は DeviceOrientation API . これは、以下のように動作します。 ほとんどのモダンブラウザ デスクトップとモバイルで

window.addEventListener("deviceorientation", handleOrientation, true);

イベントリスナー(この場合、JavaScriptの 関数(handleOrientation())を呼び出すと、リスナー関数 は、更新されたオリエンテーションデータで定期的に呼び出されます。

orientation イベントは 4 つの値を含む。

  • DeviceOrientationEvent.absolute
  • DeviceOrientationEvent.alpha
  • DeviceOrientationEvent.beta
  • DeviceOrientationEvent.gamma

イベントハンドラ関数は、次のようなものになります。

function handleOrientation(event) {
  var absolute = event.absolute;
  var alpha    = event.alpha;
  var beta     = event.beta;
  var gamma    = event.gamma;
  // Do stuff with the new orientation data
}