主要用于运动或者更加精确的定位。
方法:
accelerometer.getCurrentAcceleration---返回当前加速度传感器的值accelerometer.watchAcceleration---可以指定刷新频率
accelerometer.clearWatch---停止watchAcceleration获取值
参数:
accelerometerSuccess---获取成功
accelerometerError---获取失败
accelerometerOptions---刷新频率
对象(只读):
acceleration---承载数据参数
代码:
<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
// watch id 是当前“watchAcceleration”的引用
var watchID = null;
// 等待加载PhoneGap
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap加载完毕
function onDeviceReady() {
initStartWatch();
}
//获取当前的加速度
function initStartWatch(){
navigator.accelerometer.getCurrentAcceleration(onInitSuccess, onError);
}
function onInitSuccess(acceleration){
var element = document.getElementById('nowaccelerometer');
element.innerHTML = '加速度 X轴: ' + acceleration.x + '<br />' +
'加速度 Y轴: ' + acceleration.y + '<br />' +
'加速度 Z轴: ' + acceleration.z + '<br />' +
'时间戳: ' + acceleration.timestamp + '<br />';
}
// 开始监视加速度
function startWatch() {
// 每隔1秒钟更新一次加速度数据
var options = { frequency: 1000 };
watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
}
// 停止监视加速度
function stopWatch() {
if (watchID) {
//清除加速度检测
navigator.accelerometer.clearWatch(watchID);
watchID = null;
}
}
// onSuccess: 获取当前加速度数据的快照
function onSuccess(acceleration) {
var element = document.getElementById('accelerometer');
element.innerHTML = '加速度 X轴: ' + acceleration.x + '<br />' +
'加速度 Y轴: ' + acceleration.y + '<br />' +
'加速度 Z轴: ' + acceleration.z + '<br />' +
'时间戳: ' + acceleration.timestamp + '<br />';
}
// onError: 获取加速度失败
function onError() {
alert('onError!');
}
</script>
</head>
<body>
<div>当前加速度值(启动程序的瞬时值)</div>
<div id="nowaccelerometer"></div>
<div>1秒刷新一次的加速度值</div>
<div id="accelerometer"></div>
<button οnclick="startWatch();">开始</button>
<button οnclick="stopWatch();">停止</button>
</body>
</html>
运行效果截图: