HTML5+规范:accelermeter(管理设备加速度传感器)

   Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。通过plus.accelerometer获取设备加速度传感器管理对象。

1、方法

1.1、getCurrentAcceleration: 获取当前设备的加速度信息

    void plus.accelerometer.getCurrentAcceleration( successCB, errorCB );

说明:加速度是设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 加速度信息可通过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\nx:" + a.xAxis + "\ny:" + a.yAxis + "\nz:" + a.zAxis );
} );
}, false );
</script>
</head>
<body>
</body>
</html>


1.2、watchAcceleration: 监听设备加速度变化信息

    Number plus.accelerometer.watchAcceleration( successCB, errorCB, option )

说明:加速度是设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速度信息包括x、y、z三个方向的信息。 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 + "\ny:" + a.yAxis + "\nz:" + 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 ) 必选 需要取消的加速度监听器标识,调用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 + "\ny:" + a.yAxis + "\nz:" + 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三个方向的加速度信息。

属性:

  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 + "\ny:" + a.yAxis + "\nz:" + 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,默认值为500ms

示例:

<!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 + "\ny:" + a.yAxis + "\nz:" + 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 + "\ny:" + a.yAxis + "\nz:" + 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 + "\ny:" + a.yAxis + "\nz:" + a.zAxis;
}, function ( e ) {
alert( "Acceleration error: " + e.message );
} );
}, false );
</script>
</head>
<body>
Acceleration:<br/>
<p id="acc"></p>
</body>
</html>


你可能感兴趣的:(html5,HTML5+规范,accelermeter,管理设备加速度传感器)