解析PhoneGap API幫助文檔翻譯Accelerometer加速度計(jì)
PhoneGap API幫助文檔翻譯Accelerometer加速度計(jì)是本文要介紹的內(nèi)容,主要是來(lái)了解并學(xué)習(xí)PhoneGap API文檔的翻譯,具體PhoneGap API文檔的內(nèi)容來(lái)看本文,采集設(shè)備在x、y、z方向上的動(dòng)作。
方法:
- accelerometer.getCurrentAcceleration
- accelerometer.watchAcceleration
- accelerometer.clearWatch
參數(shù):
- accelerometerSuccess
- accelerometerError
- accelerometerOptions
對(duì)象(只讀):
- Acceleration
- accelerometer.getCurrentAcceleration
返回當(dāng)前沿x、y和z方向的加速度。
- navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
- navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
PhoneGap API說(shuō)明:
加速計(jì)是檢測(cè)設(shè)備在當(dāng)前方向上所做相對(duì)運(yùn)動(dòng)變化(增、減量)的運(yùn)動(dòng)傳感器。加速計(jì)可以檢測(cè)沿X、Y和Z軸的三維運(yùn)動(dòng)。
加速度數(shù)據(jù)通過(guò)accelerometerSuccess回調(diào)函數(shù)返回。
支持的平臺(tái):
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡(jiǎn)單的范例:
- 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);
- 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);
完整的范例:
- </pre><pre name="code" class="html"><!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">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
- }
- // onSuccess: 返回當(dāng)前加速度數(shù)據(jù)的快照
- function onSuccess(acceleration) {
- alert('Acceleration X: ' + acceleration.x + '\n' +
- 'Acceleration Y: ' + acceleration.y + '\n' +
- 'Acceleration Z: ' + acceleration.z + '\n' +
- 'Timestamp: ' + acceleration.timestamp + '\n');
- }
- // onError: 返回加速度數(shù)據(jù)失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <h1>Example</h1>
- <p>getCurrentAcceleration</p>
- </body>
- </html>
- </pre><pre name="code" class="html"><!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">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
- }
- // onSuccess: 返回當(dāng)前加速度數(shù)據(jù)的快照
- function onSuccess(acceleration) {
- alert('Acceleration X: ' + acceleration.x + '\n' +
- 'Acceleration Y: ' + acceleration.y + '\n' +
- 'Acceleration Z: ' + acceleration.z + '\n' +
- 'Timestamp: ' + acceleration.timestamp + '\n');
- }
- // onError: 返回加速度數(shù)據(jù)失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <h1>Example</h1>
- <p>getCurrentAcceleration</p>
- </body>
- </html>
#p#
iPhone的特異情況:
iPhone沒(méi)有獲取在任何給定點(diǎn)當(dāng)前加速度數(shù)據(jù)的概念。
你必須通過(guò)給定時(shí)間間隔查看加速度并獲得數(shù)據(jù)。
因此,getCurrentAcceleration函數(shù)會(huì)返回從phoneGap watchAccelerometer調(diào)用開(kāi)始后的最近一個(gè)返回值
accelerometer.watchAcceleration
在固定的時(shí)間間隔獲取沿x、y和z軸的加速度。
- var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
- accelerometerError,
- [accelerometerOptions]);
- var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
- accelerometerError,
- [accelerometerOptions]);
PhoneGap API說(shuō)明:
加速計(jì)是檢測(cè)設(shè)備在當(dāng)前方向上所做相對(duì)運(yùn)動(dòng)變化(增、減量)的動(dòng)作傳感器。加速計(jì)可以檢測(cè)沿X、Y和Z軸的三維運(yùn)動(dòng)。
accelerometer.watchAcceleration每隔固定時(shí)間就獲取一次設(shè)備的當(dāng)前加速度。每次取得加速度后,accelerometerSuccess回調(diào)函數(shù)會(huì)被執(zhí)行。通過(guò)acceleratorOptions對(duì)象的frequency參數(shù)可以設(shè)定以毫秒為單位的時(shí)間間隔。
返回的watch id是加速度計(jì)監(jiān)視周期的引用,可以通過(guò)accelerometer.clearWatch調(diào)用該watch ID以停止對(duì)加速度計(jì)的監(jiān)視。
支持的平臺(tái):
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡(jiǎn)單的范例:
- 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 }; // 每隔3秒更新一次
- var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- 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 }; // 每隔3秒更新一次
- var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
完整的范例:
- <!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 是當(dāng)前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開(kāi)始監(jiān)視加速度
- function startWatch() {
- // 每隔3秒鐘更新一次加速度數(shù)據(jù)
- var options = { frequency: 3000 };
- watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- }
- // 停止監(jiān)視加速度
- function stopWatch() {
- if (watchID) {
- navigator.accelerometer.clearWatch(watchID);
- watchID = null;
- }
- }
- // onSuccess: 獲取當(dāng)前加速度數(shù)據(jù)的快照
- 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: 獲取加速度失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <div id="accelerometer">Waiting for accelerometer...</div>
- </body>
- </html>
- <!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 是當(dāng)前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開(kāi)始監(jiān)視加速度
- function startWatch() {
- // 每隔3秒鐘更新一次加速度數(shù)據(jù)
- var options = { frequency: 3000 };
- watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- }
- // 停止監(jiān)視加速度
- function stopWatch() {
- if (watchID) {
- navigator.accelerometer.clearWatch(watchID);
- watchID = null;
- }
- }
- // onSuccess: 獲取當(dāng)前加速度數(shù)據(jù)的快照
- 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: 獲取加速度失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <div id="accelerometer">Waiting for accelerometer...</div>
- </body>
- </html>
#p#
iPhone的特異情況:
PhoneGap API在請(qǐng)求的時(shí)間間隔,PhoneGap將調(diào)用success回調(diào)指向的函數(shù),并傳遞加速度計(jì)數(shù)據(jù)。
不過(guò),PhoneGap將對(duì)設(shè)備的請(qǐng)求間隔時(shí)間限制為最小40ms,最大1000ms。
例如,如果你設(shè)定每隔3秒(3000毫秒)請(qǐng)求一次,PhoneGap仍然每隔1秒請(qǐng)求一次設(shè)備,但是每隔3秒才調(diào)用一次success回調(diào)函數(shù)。
accelerometer.clearWatch
停止watch ID參數(shù)指向的加速度監(jiān)視。
- navigator.accelerometer.clearWatch(watchID);
- navigator.accelerometer.clearWatch(watchID);
watchID:由accelerometer.watchAcceleration返回的引用標(biāo)識(shí)ID。
支持的平臺(tái):
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡(jiǎn)單的范例:
- var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- // ... 后續(xù)處理 ...
- navigator.accelerometer.clearWatch(watchID);
- var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- // ... 后續(xù)處理 ...
- navigator.accelerometer.clearWatch(watchID);
完整的范例:
- <!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 是當(dāng)前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開(kāi)始監(jiān)視加速度
- function startWatch() {
- // 每隔3秒鐘更新一次加速度數(shù)據(jù)
- var options = { frequency: 3000 };
- watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- }
- // 停止監(jiān)視加速度
- function stopWatch() {
- if (watchID) {
- navigator.accelerometer.clearWatch(watchID);
- watchID = null;
- }
- }
- // onSuccess: 獲取當(dāng)前加速度數(shù)據(jù)的快照
- 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: 獲取加速度失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <div id="accelerometer">Waiting for accelerometer...</div>
- <button onclick="stopWatch();">Stop Watching</button>
- </body>
- </html>
- <!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 是當(dāng)前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開(kāi)始監(jiān)視加速度
- function startWatch() {
- // 每隔3秒鐘更新一次加速度數(shù)據(jù)
- var options = { frequency: 3000 };
- watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
- }
- // 停止監(jiān)視加速度
- function stopWatch() {
- if (watchID) {
- navigator.accelerometer.clearWatch(watchID);
- watchID = null;
- }
- }
- // onSuccess: 獲取當(dāng)前加速度數(shù)據(jù)的快照
- 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: 獲取加速度失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <div id="accelerometer">Waiting for accelerometer...</div>
- <button onclick="stopWatch();">Stop Watching</button>
- </body>
- </html>
#p#
Acceleration
包含特定時(shí)間點(diǎn)采集到的加速計(jì)數(shù)據(jù)。
屬性:
x:在X軸的運(yùn)動(dòng)量,[0, 1]范圍(數(shù)字類型)
y:在Y軸的運(yùn)動(dòng)量,[0, 1]范圍(數(shù)字類型)
z:在Z軸的運(yùn)動(dòng)量,[0, 1]范圍(數(shù)字類型)
timestamp:以毫秒為單位的創(chuàng)建時(shí)間戳。(DOMTimeStamp類型)
PhoneGap API說(shuō)明:
這個(gè)對(duì)象是由phoneGap創(chuàng)建和填充,并由Acce這個(gè)對(duì)象是由PhoneGap創(chuàng)建和填充,并由Accelerometer的方法返回。
支持的平臺(tái):
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡(jiǎn)單的范例:
- 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);
- 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="phonegap.js"></script>
- <script type="text/javascript" charset="utf-8">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
- }
- // onSuccess: 獲得加速度數(shù)據(jù)的快照
- function onSuccess(acceleration) {
- alert('Acceleration X: ' + acceleration.x + '\n' +
- 'Acceleration Y: ' + acceleration.y + '\n' +
- 'Acceleration Z: ' + acceleration.z + '\n' +
- 'Timestamp: ' + acceleration.timestamp + '\n');
- }
- // onError: 獲取加速度失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <h1>Example</h1>
- <p>getCurrentAcceleration</p>
- </body>
- </html>
- <!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">
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
- }
- // onSuccess: 獲得加速度數(shù)據(jù)的快照
- function onSuccess(acceleration) {
- alert('Acceleration X: ' + acceleration.x + '\n' +
- 'Acceleration Y: ' + acceleration.y + '\n' +
- 'Acceleration Z: ' + acceleration.z + '\n' +
- 'Timestamp: ' + acceleration.timestamp + '\n');
- }
- // onError: 獲取加速度失敗
- function onError() {
- alert('onError!');
- }
- </script>
- </head>
- <body>
- <h1>Example</h1>
- <p>getCurrentAcceleration</p>
- </body>
- </html>
- accelerometerSuccess
提供加速度信息的onSuccess回調(diào)函數(shù)。
- function(acceleration) {
- // 進(jìn)一步處理
- }
- function(acceleration) {
- // 進(jìn)一步處理
- }
參數(shù):
acceleration: 在某一時(shí)刻的加速度(Acacceleration:在某一時(shí)刻的加速度。(Acceleration對(duì)象類型)
- function onSuccess(acceleration) {
- alert('Acceleration X: ' + acceleration.x + '\n' +
- 'Acceleration Y: ' + acceleration.y + '\n' +
- 'Acceleration Z: ' + acceleration.z + '\n' +
- 'Timestamp: ' + acceleration.timestamp + '\n');
- }
- 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回調(diào)函數(shù)。
- function() {
- // 錯(cuò)誤處理
- }
- function() {
- // 錯(cuò)誤處理
- }
- accelerometerOptions
定制檢索加速度計(jì)的可選參數(shù)。
選項(xiàng):
frequency:多少毫秒獲取一次Acceleration。(數(shù)字類型)(默認(rèn)值:10000)。
小結(jié):解析PhoneGap API幫助文檔翻譯Accelerometer加速度計(jì)的內(nèi)容介紹完了,希望通過(guò)PhoneGap API內(nèi)容的學(xué)習(xí)能對(duì)你有所幫助!