PhoneGap API帮助文档翻译—Compass(罗盘)

摘要: 获得该设备的当前朝向。 方法:compass.getCurrentHeadingcompass.watchHeadingcompass.clearWatch 参数:compassSuccesscompassErrorcompassOptions compass.getCurrentHeading 获取罗盘的当前朝向。 简单的 ...
 
 
获得该设备的当前朝向。
方法:
  • compass.getCurrentHeading
  • compass.watchHeading
  • compass.clearWatch

参数:
  • compassSuccess
  • compassError
  • compassOptions

compass.getCurrentHeading 
获取罗盘的当前朝向。



简单的范例:
  1. avigator.compass.getCurrentHeading(compassSuccess, compassError, compassOptions);
复制代码
说明:罗盘是一个检测设备方向或朝向的传感器,使用度作为衡量单位,取值范围从0度到359.99度。
通过compassSuccess回调函数返回罗盘朝向数据

支持的平台:
  • Android
  • iPhone

简单的范例:
  1. function onSuccess(heading) { alert('Heading: ' + heading); } function onError() { alert('onError!'); } navigator.compass.getCurrentHeading(onSuccess, onError);
复制代码
完整的范例:
  1.     <!DOCTYPE html> <html> <head> <SCRIPT type=text/javascript charset=utf-8 src="phonegap.js"></SCRIPT> <SCRIPT type=text/javascript charset=utf-8>  
  2.           
  3.         // 等待加载PhoneGap  
  4.         document.addEventListener("deviceready", onDeviceReady, false);  
  5.           
  6.         // PhoneGap加载完毕  
  7.         function onDeviceReady() {  
  8.             navigator.compass.getCurrentHeading(onSuccess, onError);  
  9.         }  
  10.           
  11.         // onSuccess: 返回当前的朝向数据  
  12.         function onSuccess(heading) {  
  13.             alert('Heading: ' + heading);  
  14.         }  
  15.           
  16.         // onError: 返回朝向数据失败  
  17.         function onError() {  
  18.             alert('onError!');  
  19.         }  
  20.           
  21.     </SCRIPT>   
  22.     </head>   
  23.     <body>  
  24.      <h1>Example</h1>   
  25.     <p>getCurrentHeading</p>   
  26.     </body>   
  27.     </html>  
复制代码
compass.watchHeading 在固定的时间间隔获取罗盘朝向的角度。
  1.     var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);  
复制代码
说明:罗盘是一个检测设备方向或朝向的传感器,使用度作为衡量单位,取值范围从0度到359.99度。
compass.watchHeading每隔固定时间就获取一次设备的当前朝向。每次取得朝向后,headingSuccess回调函数会被执行。通过compassOptions对象的frequency参数可以设定以毫秒为单位的时间间隔。
返回的watch ID是罗盘监视周期的引用,可以通过compass.clearWatch调用该watch ID以停止对罗盘的监视。 

支持的平台:
  • Android
  • iPhone

简单的范例:
  1.     function onSuccess(heading) {  
  2.         var element = document.getElementById('heading');  
  3.         element.innerHTML = 'Heading: ' + heading;  
  4.     }  
  5.           
  6.     function onError() {  
  7.         alert('onError!');  
  8.     }  
  9.           
  10.     var options = { frequency: 3000 };      //每隔3秒更新一次  
  11.           
  12.     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);  
复制代码
完整的范例:
  1.     <!DOCTYPE html>  
  2.     <html>  
  3.     <head>  
  4.     <title>Compass Example</title>  
  5.           
  6.     <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>  
  7.     <script type="text/javascript" charset="utf-8">  
  8.           
  9.         // watchID 是当前“watchHeading”的引用  
  10.         var watchID = null;  
  11.           
  12.         // 等待加载PhoneGap  
  13.         document.addEventListener("deviceready", onDeviceReady, false);  
  14.           
  15.         // PhoneGap加载完毕  
  16.         function onDeviceReady() {  
  17.             startWatch();  
  18.         }  
  19.           
  20.         // 开始监视罗盘  
  21.         function startWatch() {  
  22.           
  23.             // 每隔3秒钟更新一次罗盘的朝向信息  
  24.             var options = { frequency: 3000 };  
  25.                  
  26.             watchID = navigator.compass.watchHeading(onSuccess, onError, options);  
  27.         }  
  28.           
  29.         // 停止监视罗盘  
  30.         function stopWatch() {  
  31.             if (watchID) {  
  32.                 navigator.compass.clearWatch(watchID);  
  33.                 watchID = null;  
  34.             }  
  35.         }  
  36.           
  37.         // onSuccess: 返回罗盘的当前朝向  
  38.         function onSuccess(heading) {  
  39.             var element = document.getElementById('heading');  
  40.             element.innerHTML = 'Heading: ' + heading;  
  41.         }  
  42.           
  43.         // onError: 获取罗盘朝向失败  
  44.         function onError() {  
  45.             alert('onError!');  
  46.         }  
  47.           
  48.     </script>  
  49.     </head>  
  50.     <body>  
  51.         <div id="heading">Waiting for heading...</div>  
  52.         <button onclick="startWatch();">Start Watching</button>  
  53.         <button onclick="stopWatch();">Stop Watching</button>  
  54.     </body>  
  55.     </html>  
复制代码
compass.clearWatch停止watch ID参数指向的罗盘监视。

  1. navigator.compass.clearWatch(watchID);  
复制代码

  • watchID: 由compass.watchHeading返回的引用标示。

支持的平台:
  • Android
  • iPhone

简单的范例:
  1.     var watchID = navigator.compass.watchHeading(onSuccess, onError, options);  
  2.           
  3.     // ... 后继处理 ...  
  4.           
  5.     navigator.compass.clearWatch(watchID);  
复制代码
完整的范例:
  1.     <!DOCTYPE html>  
  2.     <html>  
  3.     <head>  
  4.     <title>Compass Example</title>  
  5.           
  6.     <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>  
  7.     <script type="text/javascript" charset="utf-8">  
  8.           
  9.         // watchID是当前 “watchHeading” 的引用  
  10.         var watchID = null;  
  11.           
  12.         // 等待加载PhoneGap  
  13.         document.addEventListener("deviceready", onDeviceReady, false);  
  14.           
  15.         // PhoneGap加载完毕  
  16.         function onDeviceReady() {  
  17.             startWatch();  
  18.         }  
  19.           
  20.         // 开始监视罗盘  
  21.         function startWatch() {  
  22.              
  23.             // 每隔3秒钟更新一次罗盘数据  
  24.             var options = { frequency: 3000 };  
  25.           
  26.             watchID = navigator.compass.watchHeading(onSuccess, onError, options);  
  27.         }  
  28.           
  29.         // 停止监视罗盘  
  30.         function stopWatch() {  
  31.             if (watchID) {  
  32.                 navigator.compass.clearWatch(watchID);  
  33.                 watchID = null;  
  34.             }  
  35.         }  
  36.           
  37.         // onSuccess: 返回罗盘的当前朝向  
  38.         function onSuccess(heading) {  
  39.             var element = document.getElementById('heading');  
  40.             element.innerHTML = 'Heading: ' + heading;  
  41.         }  
  42.           
  43.         // onError: 获取罗盘朝向失败  
  44.         function onError() {  
  45.             alert('onError!');  
  46.         }  
  47.           
  48.     </script>  
  49.     </head>  
  50.     <body>  
  51.         <div id="heading">Waiting for heading...</div>  
  52.         <button onclick="startWatch();">Start Watching</button>  
  53.         <button onclick="stopWatch();">Stop Watching</button>  
  54.     </body>  
  55.     </html>  
复制代码
compassSuccess 提供罗盘朝向信息的onSuccess回调函数。
  1.     function(heading) { // 进一步处理  
  2.     }  
复制代码
参数:
  • heading:在某一时刻的罗盘朝向角度 (从0度到359.99度之间)。(数字类型)
范例:
  1. function onSuccess(heading) { alert('Heading: ' + heading); }  
复制代码
compassError 罗盘方法的onError回调函数。
  1.     function() { // 错误处理  
  2.     }  
复制代码
compassOptions
 
定制检索罗盘朝向的可选参数。

选项:
  • frequency:多少毫秒获取一次罗盘朝向。(数字类型)(默认值:100)

本文来自:http://blog.csdn.net/phonegapcn
posted @ 2014-03-20 12:16  huidaoli  阅读(283)  评论(0编辑  收藏  举报