当前位置:编程学习 > wap >>

PhoneGap API中文帮助文档——Accelerometer (加速度计)

“采集设备在x、y、z方向上的动作。

方法:
accelerometer.getCurrentAcceleration
accelerometer.watchAcceleration
accelerometer.clearWatch


参数:
accelerometerSuccess
accelerometerError
accelerometerOptions


对象(只读):
Acceleration


accelerometer.getCurrentAcceleration
 

返回当前沿x、y和z方向的加速度。
    navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError); 
复制代码说明:
加速计是检测设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速计可以检测沿X、Y和Z轴的三维运动。
加速度数据通过accelerometerSuccess回调函数返回。

支持的平台:
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);
复制代码完整的范例:
    </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: 返回当前加速度数据的快照 

        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> 
复制代码iPhone的特异情况:

iPhone没有获取在任何给定点当前加速度数据的概念。
你必须通过给定时间间隔查看加速度并获得数据。
因此,getCurrentAcceleration函数会返回从phoneGap watchAccelerometer调用开始后的最近一个返回值

accelerometer.watchAcceleration
 

在固定的时间间隔获取沿x、y和z轴的加速度。
    var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess, 

                                accelerometerError, 

                                [accelerometerOptions]); 
复制代码说明:
加速计是检测设备在当前方向上所做相对运动变化(增、减量)的动作传感器。加速计可以检测沿X、Y和Z轴的三维运动。
accelerometer.watchAcceleration每隔固定时间就获取一次设备的当前加速度。每次取得加速度后,accelerometerSuccess回调函数会被执行。通过acceleratorOptions对象的frequency参数可以设定以毫秒为单位的时间间隔。
返回的watch id是加速度计监视周期的引用,可以通过accelerometer.clearWatch调用该watch ID以停止对加速度计的监视。

支持的平台:
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); 
复制代码
完整的范例:
    <!DOCTYPE html> 

    <html> 

    <head> 

    <title>Acceleration Example</title> 

         

    <script type="text/javascript" chars

补充:移动开发 , 其他 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,