PhoneGap 加速计 api 获取加速计 x 轴 y 轴 z 轴信息

时间:2022-07-26 12:17:48

一、PhoneGap 加速计 Accelerometer 对象介绍

  1、主要方法

    accelerometer.getCurrentAcceleration     获取当前设备在 x,y,z 轴上的加速度信息

    accelerometer.watchAcceleration       定期获取设备的加速度信息

    accelerometer.clearWatch      停止定期获取设备的加速度信息

  2、参数

    accelerometerSuccess 获取加速度信息成功的回调函数

    accelerometerError 获取加速度信息失败的回调函数

    accelerometerOptions   一般为 json 对象,frequency 是它目前的唯一参数,以毫秒数表示,用来指定定期获取 加速度信息频率

二、获取加速度信息

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>phonegap_device_network_notification01</title>
<link href="../jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
<script src="../jquery.js" type="text/javascript"></script>
<script src="../jquery.mobile-1.3.2.js" type="text/javascript"></script>
<script src="../cordova.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8"> $(function(){
//accelerometer
document.addEventListener("deviceready", onDeviceReady, false); // 设备加载完成
function onDeviceReady() {
//navigator.accelerometer.getCurrentAcceleration(onSuccess, onError); $('#accelerometer').click(function(){
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
})
} // 获取加速度信息成功后的回调函数
// 接收包含当前加速度信息的Acceleration对象
function onSuccess(acceleration) {
alert('X轴方向的加速度: ' + acceleration.x + '\n' +
'Y轴方向的加速度: ' + acceleration.y + '\n' +
'Z轴方向的加速度: ' + acceleration.z + '\n' +
'时间戳: ' + acceleration.timestamp + '\n');
}
// 获取加速度信息失败后的回调函数
function onError() {
alert('出错了!');
} }) // 等待PhoneGap加载 </script> </head>
<body>
<div data-role="page">
<div data-role="header">
<h1>PhoneGap100实战</h1>
</div>
<div data-role="content">
<a data-role="button" href="#" id="accelerometer">获取加速度</a>
<br>
<a href="#">当前的加速度值为</a>
</div>
<div data-role="footer">
<h4>&nbsp;</h4>
</div>
</div> </body>
</html>

三、定期获取加速度信息

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>phonegap_device_network_notification01</title>
<link href="../jquery.mobile-1.3.2.css" rel="stylesheet" type="text/css"/>
<script src="../jquery.js" type="text/javascript"></script>
<script src="../jquery.mobile-1.3.2.js" type="text/javascript"></script>
<script src="../cordova.js" type="text/javascript"></script>
<script type="text/javascript" charset="utf-8"> // 当前watchAcceleration的引用ID
varwatchID = null; // 等待PhoneGap加载
document.addEventListener("deviceready", onDeviceReady, false); // 加载完成
function onDeviceReady() {
startWatch();
} // 开始监测
function startWatch() {
// 表示每隔三秒更新一次信息
var options = { frequency: 3000 }; watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
} // 停止监测
function stopWatch() {
if (watchID) {
navigator.accelerometer.clearWatch(watchID);
watchID = null;
}
} // 获取加速度信息成功后的回调函数
// 接收包含当前加速度信息的Acceleration对象
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 />';
} // 获取加速度信息失败后的回调函数
function onError() {
alert('onError!');
} </script> </head>
<body>
<div data-role="page">
<div data-role="header">
<h1>PhoneGap100实战</h1>
</div>
<div data-role="content">
<div id="accelerometer">监测加速度信息中...</div>
<button onclick="stopWatch();">停止监测加速度信息</button>
</div>
<div data-role="footer">
<h4>&nbsp;</h4>
</div>
</div> </body>
</html>