解析PhoneGap API幫助文檔翻譯Accelerometer加速度計
PhoneGap API幫助文檔翻譯Accelerometer加速度計是本文要介紹的內容,主要是來了解并學習PhoneGap API文檔的翻譯,具體PhoneGap API文檔的內容來看本文,采集設備在x、y、z方向上的動作。
方法:
- accelerometer.getCurrentAcceleration
- accelerometer.watchAcceleration
- accelerometer.clearWatch
參數(shù):
- accelerometerSuccess
- accelerometerError
- accelerometerOptions
對象(只讀):
- Acceleration
- accelerometer.getCurrentAcceleration
返回當前沿x、y和z方向的加速度。
- navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
- navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
PhoneGap API說明:
加速計是檢測設備在當前方向上所做相對運動變化(增、減量)的運動傳感器。加速計可以檢測沿X、Y和Z軸的三維運動。
加速度數(shù)據(jù)通過accelerometerSuccess回調函數(shù)返回。
支持的平臺:
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡單的范例:
- 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: 返回當前加速度數(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: 返回當前加速度數(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沒有獲取在任何給定點當前加速度數(shù)據(jù)的概念。
你必須通過給定時間間隔查看加速度并獲得數(shù)據(jù)。
因此,getCurrentAcceleration函數(shù)會返回從phoneGap watchAccelerometer調用開始后的最近一個返回值
accelerometer.watchAcceleration
在固定的時間間隔獲取沿x、y和z軸的加速度。
- var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
- accelerometerError,
- [accelerometerOptions]);
- var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
- accelerometerError,
- [accelerometerOptions]);
PhoneGap API說明:
加速計是檢測設備在當前方向上所做相對運動變化(增、減量)的動作傳感器。加速計可以檢測沿X、Y和Z軸的三維運動。
accelerometer.watchAcceleration每隔固定時間就獲取一次設備的當前加速度。每次取得加速度后,accelerometerSuccess回調函數(shù)會被執(zhí)行。通過acceleratorOptions對象的frequency參數(shù)可以設定以毫秒為單位的時間間隔。
返回的watch id是加速度計監(jiān)視周期的引用,可以通過accelerometer.clearWatch調用該watch ID以停止對加速度計的監(jiān)視。
支持的平臺:
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡單的范例:
- 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 是當前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開始監(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: 獲取當前加速度數(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 是當前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開始監(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: 獲取當前加速度數(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在請求的時間間隔,PhoneGap將調用success回調指向的函數(shù),并傳遞加速度計數(shù)據(jù)。
不過,PhoneGap將對設備的請求間隔時間限制為最小40ms,最大1000ms。
例如,如果你設定每隔3秒(3000毫秒)請求一次,PhoneGap仍然每隔1秒請求一次設備,但是每隔3秒才調用一次success回調函數(shù)。
accelerometer.clearWatch
停止watch ID參數(shù)指向的加速度監(jiān)視。
- navigator.accelerometer.clearWatch(watchID);
- navigator.accelerometer.clearWatch(watchID);
watchID:由accelerometer.watchAcceleration返回的引用標識ID。
支持的平臺:
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡單的范例:
- 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 是當前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開始監(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: 獲取當前加速度數(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 是當前“watchAcceleration”的引用
- var watchID = null;
- // 等待加載PhoneGap
- document.addEventListener("deviceready", onDeviceReady, false);
- // PhoneGap加載完畢
- function onDeviceReady() {
- startWatch();
- }
- // 開始監(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: 獲取當前加速度數(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ù)據(jù)。
屬性:
x:在X軸的運動量,[0, 1]范圍(數(shù)字類型)
y:在Y軸的運動量,[0, 1]范圍(數(shù)字類型)
z:在Z軸的運動量,[0, 1]范圍(數(shù)字類型)
timestamp:以毫秒為單位的創(chuàng)建時間戳。(DOMTimeStamp類型)
PhoneGap API說明:
這個對象是由phoneGap創(chuàng)建和填充,并由Acce這個對象是由PhoneGap創(chuàng)建和填充,并由Accelerometer的方法返回。
支持的平臺:
Android
BlackBerry WebWorks (OS 5.0或更高版本)
iPhone
簡單的范例:
- 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回調函數(shù)。
- function(acceleration) {
- // 進一步處理
- }
- function(acceleration) {
- // 進一步處理
- }
參數(shù):
acceleration: 在某一時刻的加速度(Acacceleration:在某一時刻的加速度。(Acceleration對象類型)
- 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回調函數(shù)。
- function() {
- // 錯誤處理
- }
- function() {
- // 錯誤處理
- }
- accelerometerOptions
定制檢索加速度計的可選參數(shù)。
選項:
frequency:多少毫秒獲取一次Acceleration。(數(shù)字類型)(默認值:10000)。
小結:解析PhoneGap API幫助文檔翻譯Accelerometer加速度計的內容介紹完了,希望通過PhoneGap API內容的學習能對你有所幫助!