加速度センサー
X y、およびzの方向でのデバイスの動きをキャプチャします。
メソッド
引数
オブジェクト (読み取り専用)
機能へのアクセス
バージョン 3.0 は、コルドバのプラグインとしてデバイス レベルの Api を実装します。 CLI の使用 plugin のコマンドライン ・ インタ フェースを追加または削除、プロジェクトに対してこの機能を記載されているコマンド。
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device-motion.git
$ cordova plugin rm org.apache.cordova.core.device-motion
これらのコマンドすべてのターゲット プラットフォームに適用されますが、以下のプラットフォームに固有の構成設定を変更します。
-
(アンドロイド
app/res/xml/config.xml)<feature name="Accelerometer"> <param name="android-package" value="org.apache.cordova.AccelListener" /> </feature> -
ブラックベリー WebWorks
(in www/plugins.xml) <feature name="Accelerometer"> <param name="blackberry-package" value="org.apache.cordova.accelerometer.Accelerometer" /> </feature> (in www/config.xml) <feature id="blackberry.system" required="true" version="1.0.0.0" /> <feature id="org.apache.cordova" required="true" version="1.0.0" /> -
iOS (
config.xml)<feature name="Accelerometer"> <param name="ios-package" value="CDVAccelerometer" /> </feature> -
(Windows Phone
Properties/WPAppManifest.xml)<Capabilities> <Capability Name="ID_CAP_SENSORS" /> </Capabilities>
いくつかのプラットフォームは特別な構成を必要とせずにこの機能をサポート可能性があります。概要については、プラットフォームのサポートを参照してください。
accelerometer.getCurrentAcceleration
X y、およびz軸に沿って現在の加速を取得します。
navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
説明
加速度計の現在のデバイスの向き、 x y、およびz軸に沿って 3 つの次元の相対運動の変更 (デルタ) を検出するモーション センサーです。
これらの加速度値に返されます、 accelerometerSuccess コールバック関数。
サポートされているプラットフォーム
- アンドロイド
- ブラックベリー WebWorks (OS 5.0 およびより高い)
- iOS
- Tizen
- Windows Phone 7 と 8
- Windows 8
簡単な例
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
function onError() {
alert('onError!');
};
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
完全な例
<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
}
// onSuccess: Get a snapshot of the current acceleration
//
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
}
// onError: Failed to get the acceleration
//
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<h1>Example</h1>
<p>getCurrentAcceleration</p>
</body>
</html>
iOS の癖
iOS は、任意の時点で現在の加速度を得ることの概念を認識しません。
加速度を見るし、データをキャプチャする必要があります指定した時間間隔で。
したがって、
getCurrentAcceleration関数から報告された最後の値が生成されます、watchAccelerometerを呼び出します。
accelerometer.watchAcceleration
定期的な間隔でx y、およびz軸に沿った加速度を取得します。
var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
accelerometerError,
[accelerometerOptions]);
説明
加速度計は現在位置との相対運動の変更 (デルタ) を検出するモーション センサーです。 加速度計は、 x y、およびz軸に沿って 3次元の動きを検出できます。
accelerometer.watchAccelerationメソッドは、デバイスの電流を取得 Acceleration 一定の間隔で実行する、 accelerometerSuccess コールバック関数するたびに。 経由でミリ秒単位で間隔を指定する、 acceleratorOptions オブジェクトの frequency パラメーター。
返される ID の参照、加速度計腕時計間隔を見るし、で使用することができます accelerometer.clearWatch 、加速度計を見て停止します。
サポートされているプラットフォーム
- アンドロイド
- ブラックベリー WebWorks (OS 5.0 およびより高い)
- iOS
- Tizen
- Windows Phone 7 と 8
- Windows 8
簡単な例
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
function onError() {
alert('onError!');
};
var options = { frequency: 3000 }; // Update every 3 seconds
var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
完全な例
<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// The watch id references the current `watchAcceleration`
var watchID = null;
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
startWatch();
}
// Start watching the acceleration
//
function startWatch() {
// Update acceleration every 3 seconds
var options = { frequency: 3000 };
watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
}
// Stop watching the acceleration
//
function stopWatch() {
if (watchID) {
navigator.accelerometer.clearWatch(watchID);
watchID = null;
}
}
// onSuccess: Get a snapshot of the current acceleration
//
function onSuccess(acceleration) {
var element = document.getElementById('accelerometer');
element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' +
'Acceleration Y: ' + acceleration.y + '<br />' +
'Acceleration Z: ' + acceleration.z + '<br />' +
'Timestamp: ' + acceleration.timestamp + '<br />';
}
// onError: Failed to get the acceleration
//
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<div id="accelerometer">Waiting for accelerometer...</div>
</body>
</html>
iOS の癖
API は、要求された間隔で、成功コールバック関数を呼び出しますが 40 ms の間デバイスへの要求の範囲を制限し、1000 ミリ秒になります。 たとえば、(ms) 3 秒の間隔を要求した場合、API 1 秒ごとに、デバイスからデータを要求がのみ成功コールバック 3 秒ごとを実行します。
accelerometer.clearWatch
見て停止、 Acceleration によって参照される、 watchID パラメーター。
navigator.accelerometer.clearWatch(watchID);
-
watchID: によって返される ID
accelerometer.watchAcceleration.
サポートされているプラットフォーム
- アンドロイド
- ブラックベリー WebWorks (OS 5.0 およびより高い)
- iOS
- Tizen
- Windows Phone 7 と 8
- Windows 8
簡単な例
var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
// ... later on ...
navigator.accelerometer.clearWatch(watchID);
完全な例
<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// The watch id references the current `watchAcceleration`
var watchID = null;
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
startWatch();
}
// Start watching the acceleration
//
function startWatch() {
// Update acceleration every 3 seconds
var options = { frequency: 3000 };
watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
}
// Stop watching the acceleration
//
function stopWatch() {
if (watchID) {
navigator.accelerometer.clearWatch(watchID);
watchID = null;
}
}
// onSuccess: Get a snapshot of the current acceleration
//
function onSuccess(acceleration) {
var element = document.getElementById('accelerometer');
element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' +
'Acceleration Y: ' + acceleration.y + '<br />' +
'Acceleration Z: ' + acceleration.z + '<br />' +
'Timestamp: ' + acceleration.timestamp + '<br />';
}
// onError: Failed to get the acceleration
//
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<div id="accelerometer">Waiting for accelerometer...</div>
<button onclick="stopWatch();">Stop Watching</button>
</body>
</html>
加速
含まれています Accelerometer で特定の時点でキャプチャしたデータ。
プロパティ
- x: x 軸の加速度の量です。(m/s ^2)(数)
- y: y 軸の加速度の量です。(m/s ^2)(数)
- z: z 軸の加速度の量です。(m/s ^2)(数)
- タイムスタンプ: 作成時のタイムスタンプ (ミリ秒単位)。(,)
説明
Accelerationオブジェクトの作成し、API のいずれかによって返される Accelerometer 方法。 加速度値のとおり重力の効果 (9.81 m/s ^2) デバイスにあるフラットとx y、直面していると返されるz値をする必要がありますように、 、 と9.81.
サポートされているプラットフォーム
- アンドロイド
- ブラックベリー WebWorks (OS 5.0 およびより高い)
- iOS
- Tizen
- Windows Phone 7 と 8
- Windows 8
簡単な例
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
function onError() {
alert('onError!');
};
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
完全な例
<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
}
// onSuccess: Get a snapshot of the current acceleration
//
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
}
// onError: Failed to get the acceleration
//
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<h1>Example</h1>
<p>getCurrentAcceleration</p>
</body>
</html>
accelerometerSuccess
onSuccess コールバック関数を提供する、 Acceleration 情報。
function(acceleration) {
// Do something
}
パラメーター
例
function onSuccess(acceleration) {
alert('Acceleration X: ' + acceleration.x + '\n' +
'Acceleration Y: ' + acceleration.y + '\n' +
'Acceleration Z: ' + acceleration.z + '\n' +
'Timestamp: ' + acceleration.timestamp + '\n');
};
accelerometerError
アクセラレーション機能の onError コールバック関数。
function() {
// Handle the error
}
accelerometerOptions
加速度計の値の検索をカスタマイズするオプションのパラメーター。
オプション
-
周波数: 取得する頻度、
Acceleration(ミリ秒単位)。(数)(デフォルト: 10000)