【Cordova】加速度センサーで傾き取得

Cordovaで加速度センサーのデータを取得する方法について紹介します。

加速度センサーのデータ取得

加速度センサーとは、スマホなどに搭載されている加速度を取得できるセンサーです。
加速度を取得すると、傾きがわかります。
Cordovaで加速度センサーにアクセスするには、「navigator.accelerometer.watchAcceleration」メソッドを利用します。

書式

navigator.accelerometer.watchAcceleration(accelerometerSuccess,accelerometerError,[accelerometerOptions]);
パラメータ 説明
accelerometerSuccess データの取得成功時の処理
accelerometerError エラー時の処理
[accelerometerOptions] オプション(各種設定)

データの取得に成功すると、次のように値が格納されます。

格納先
acceleration.x X軸方向の傾き(-10~10)
acceleration.y Y軸方向の傾き(-10~10)
acceleration.z Z軸方向の傾き(-10~10)
acceleration.timestamp タイムスタンプ(取得した時刻)

ソースコード

サンプルプログラムのソースコードです。

function onSuccess(acceleration) {
    alert('X軸の加速度: ' + acceleration.x + '\n' +
          'Y軸の加速度: ' + acceleration.y + '\n' +
          'Z軸の加速度: ' + acceleration.z + '\n' +
          '時刻: ' + acceleration.timestamp + '\n');
};

function onError() {
    alert('エラーが発生しました。');
};

var options = { frequency: 1000 };  // 1秒ごとにデータ取得

var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);

データの取得を停止する場合、「navigator.accelerometer.clearWatch()」の第一引数にwatchAccelerationの戻り値である参照を渡します。

関連記事
【Cordova入門】Android向けハイブリッドアプリ開発
Javascript入門 サンプル集
Java入門
Node.js入門
関連記事