HTML 5+仕様:accelermeter(管理機器加速度センサ)


Accelerometerモジュールは、x(画面水平方向)、y(垂直画面水平方向)、z(垂直画面平面方向)の3方向の加速度情報を含む装置加速度センサを管理する.plusを通ります.accelerometerは、デバイス加速度センサ管理オブジェクトを取得します.
1、方法
1.1.getCurrentAcceleration:現在のデバイスの加速度情報を取得する
    void plus.accelerometer.getCurrentAcceleration( successCB, errorCB );
説明:加速度は、装置が現在方向に相対的に運動変化(増減)する運動センサである.加速度情報には、x、y、zの3方向の情報が含まれる.加速度情報はsuccessCBコールバック関数によって返すことができる.加速度情報の取得に失敗すると、コールバック関数errorCBが呼び出される.
パラメータ:
successCB:(AccelerometerSuccessCallback)デバイス加速度情報正常コールバック関数の取得
errorCB:(AccelerometerErrorCallback)オプションデバイス加速度情報取得失敗コールバック関数
戻り値:void:なし
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
plus.accelerometer.getCurrentAcceleration( function( a ) {
alert( "Acceleration
x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis ); } ); }, false ); </script> </head> <body> </body> </html>

1.2.watchAcceleration:傍受装置加速度変化情報
    Number plus.accelerometer.watchAcceleration( successCB, errorCB, option )
説明:加速度は、装置が現在方向に相対的に運動変化(増減)する運動センサである.加速度情報には、x、y、zの3方向の情報が含まれる.watchAccelerationは一定時間毎に装置の加速度情報を取得しsuccessCBコールバック関数で返す.optionのfrequencyパラメータでデバイス加速度情報を取得する時間間隔を設定できます.加速度情報の取得に失敗すると、コールバック関数errorCBが呼び出される.
パラメータ:
successCB:(AccelerometerSuccessCallback)必ず成功コールバック関数を選択し、デバイスの加速度情報が成功した場合にコールバックし、加速度情報を返します.
ErrorCB:(AccelerometerErrorCallback)オプションの失敗コールバック関数は、デバイス加速度情報の取得に失敗したコールバック関数を取得し、エラー情報を返します.
options:(AccelerometerOption)加速度情報パラメータ、デバイスの加速度情報をリスニングするパラメータ、例えばデータを更新する頻度など.
戻り値:Number:加速度情報リスナーを識別し、clearWatchメソッドでリスニングを解除できます.
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText =  "x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis; }, function ( e ) { alert( "Acceleration error: " + e.message ); } ); }, false ); </script> </head> <body> Acceleration:<br/> <p id="acc"></p> </body> </html>

1.3、clearWatch:傍受装置の加速度情報を閉じる
     void plus.accelerometer.clearWatch( watchId );
説明:リスニングデバイスの加速度情報を閉じ、watchAccelerationメソッドを呼び出すオープンリスニング操作を適用します.
パラメータ:
watchId:(Number)キャンセルが必要な加速度リスナーIDを選択し、watchAccelerationメソッドの戻り値を呼び出します.
戻り値:void:なし
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
var wid = null;
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
var acc = document.getElementById("acc");
wid = plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText =  "x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis; }, function ( e ) { alert( "Acceleration error: " + e.message ); } ); }, false ); function cancel() { plus.accelerometer.clearWatch( wid ); wid = null; } </script> </head> <body> Acceleration:<br/> <p id="acc"></p><br/> <button onclick="cancel()">Cancel</button> </body> </html>

2、対象
2.1.Acceleration:デバイス加速度情報オブジェクト
interface Acceleration {
readonly attribute Number xAxis;
readonly attribute Number yAxis;
readonly attribute Number zAxis;  
}
説明:JSONオブジェクトは、x、y、zの3方向の加速度情報を含む取得機器の加速度情報を格納します.
属性:
xAxis:(Numberタイプ)x軸方向の加速度.現在のデバイスx軸方向の加速度,浮動小数点型データを取得し,物理学における加速度値と一致した.
yAxis:(Numberタイプ)y軸方向の加速度.現在のデバイスy軸方向の加速度,浮動小数点型データを取得し,物理学における加速度値と一致した.
zAxis:(Numberタイプ)z軸方向の加速度.現在のデバイスz軸方向の加速度,浮動小数点型データを取得し,物理学における加速度値と一致した.
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText =  "x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis; }, function ( e ) { alert( "Acceleration error: " + e.message ); } ); }, false ); </script> </head> <body> Acceleration:<br/> <p id="acc"></p> </body> </html>

2.2.AccelerometerOption:傍受装置加速度センサーパラメータ
interface Acceleration {
readonly attribute DOMString frequency;
}
説明:JSONオブジェクトで、機器加速度情報を取得するパラメータを設定します.
属性:frequency:(Numberタイプ)加速度情報間隔時間を更新し、リスナーが加速度情報を取得する間隔.単位はms、デフォルト値は500 ms
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText =  "x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis; }, function ( e ) { alert( "Acceleration error: " + e.message ); }, {frequency:1000} ); // 1s }, false ); </script> </head> <body> Acceleration:<br/> <p id="acc"></p> </body> </html

3、コールバック方法
3.1.AccelerometerSuccessCallback:デバイス加速度情報の取得に成功したコールバック関数
void onSuccess( acceleration ) {
// Get acceleration code.
}

パラメータ:
acceleration:(Acceleration)各方向の詳細な加速度値を取得するために、デバイスの加速度情報、Accelerationタイプオブジェクトを選択します.
戻り値:void:なし
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText =  "x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis; }, function ( e ) { alert( "Acceleration error: " + e.message ); } ); }, false ); </script> </head> <body> Acceleration:<br/> <p id="acc"></p> </body> </html>

3.2.AccelerometerErrorCallback:デバイス加速度情報の取得に失敗したコールバック関数
function void onAccelerometerError( Exception error ) {
// Handle error
var code = error.code; //     
var message = error.message; //       
}

パラメータ:error:(Exception)加速度操作のエラー情報を取得するには、error.code(Numberタイプ)エラー符号化を取得する;error.Message(Stringタイプ)エラー記述情報を取得します.
戻り値:void:なし
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Accelerometer Example</title>
<script type="text/javascript">
//   plusready    
document.addEventListener( "plusready", function(){
//   API    ,          API
var acc = document.getElementById("acc");
plus.accelerometer.watchAcceleration( function ( a ) {
acc.innerText =  "x:" + a.xAxis + "
y:" + a.yAxis + "
z:" + a.zAxis; }, function ( e ) { alert( "Acceleration error: " + e.message ); } ); }, false ); </script> </head> <body> Acceleration:<br/> <p id="acc"></p> </body> </html>