phonegap之Geolocation GPS传感器

首先解释一下Geolocation这个单词,英语中是定位的意思,我再题目中翻译成为了GPS传感器,主要是因为在官方文档中使用到了GPS sensor.

geolocation对象提供了对设备GPS传感器的访问.

geolocation同样有三个方法:

  1. geolocation.getCurrentPosition  
  2. geolocation.watchPosition  
  3. geolocation.clearWatch  

这里我不都介绍了,值介绍第一个.第二个可以参看我的phonegap入门--3 Accelerometer 加速器 这篇文章去,里面方法是类似的.

geolocation.getCurrentPosition 
返回一个Position对象表示设备的当前位置。

  1. navigator.geolocation.getCurrentPosition(geolocationSuccess,   
  2.                                 [geolocationError],   
  3.                                 [geolocationOptions]);  

还是直接上代码吧,代码里应该一看就懂了:

  1. <!DOCTYPE html>  
  2. <html>  
  3.   <head>  
  4.     <title>Device Properties Example</title>  
  5.   
  6.     <script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>  
  7.     <script type="text/javascript" charset="utf-8">  
  8.   
  9.     document.addEventListener("deviceready", onDeviceReady, false);  
  10.   
  11.     function onDeviceReady() {  
  12.         navigator.geolocation.getCurrentPosition(onSuccess, onError);  
  13.     }  
  14.   
  15.     function onSuccess(position) {  
  16.         var element = document.getElementById('geolocation');  
  17.         //对于下面的这些地理坐标,我也不是很清楚,具体都是什么意思,如果有兴趣大家可以百度,这些中文翻译也是我百度的  
  18.         element.innerHTML = 'Latitude 纬度: '           + position.coords.latitude              + '<br />' +  
  19.                             'Longitude 经度: '          + position.coords.longitude             + '<br />' +  
  20.                             'Altitude 位置相对于椭圆球面的高度: '           + position.coords.altitude              + '<br />' +  
  21.                             'Accuracy 以米为单位的纬度和经度坐标的精度水平: '           + position.coords.accuracy              + '<br />' +  
  22.                             'Altitude Accuracy 以米为单位的高度坐标的精度水平: '  + position.coords.altitudeAccuracy      + '<br />' +  
  23.                             'Heading 运动的方向,通过相对正北做顺时针旋转的角度指定: '            + position.coords.heading               + '<br />' +  
  24.                             'Speed 以米/秒为单位的设备当前地面速度: '              + position.coords.speed                 + '<br />' +  
  25.                             'Timestamp 以毫秒为单位的coords的创建时间戳: '          +                                   position.timestamp          + '<br />';  
  26.     }  
  27.   
  28.     function onError(error) {  
  29.         alert('code: '    + error.code    + '\n' +  
  30.                 'message: ' + error.message + '\n');  
  31.     }  
  32.   
  33.     </script>  
  34.   </head>  
  35.   <body>  
  36.     <p id="geolocation">Finding geolocation...</p>  
  37.   </body>  
  38. </html>  


相信看了上面的代码,position对象就不用再我详细介绍了.
另外geolocationOptions这个对象还是有必要介绍一下的,但是现在头太疼了,以后有空再补上吧.

相关推荐