首先解释一下Geolocation这个单词,英语中是定位的意思,我再题目中翻译成为了GPS传感器,主要是因为在官方文档中使用到了GPS sensor.
geolocation对象提供了对设备GPS传感器的访问.
geolocation同样有三个方法:
- geolocation.getCurrentPosition
- geolocation.watchPosition
- geolocation.clearWatch
这里我不都介绍了,值介绍第一个.第二个可以参看我的phonegap入门--3 Accelerometer 加速器 这篇文章去,里面方法是类似的.
geolocation.getCurrentPosition
返回一个Position对象表示设备的当前位置。
- navigator.geolocation.getCurrentPosition(geolocationSuccess,
- [geolocationError],
- [geolocationOptions]);
还是直接上代码吧,代码里应该一看就懂了:
- <!DOCTYPE html>
- <html>
- <head>
- <title>Device Properties Example</title>
-
- <script type="text/javascript" charset="utf-8" src="cordova-2.6.0.js"></script>
- <script type="text/javascript" charset="utf-8">
-
- document.addEventListener("deviceready", onDeviceReady, false);
-
- function onDeviceReady() {
- navigator.geolocation.getCurrentPosition(onSuccess, onError);
- }
-
- function onSuccess(position) {
- var element = document.getElementById('geolocation');
- //对于下面的这些地理坐标,我也不是很清楚,具体都是什么意思,如果有兴趣大家可以百度,这些中文翻译也是我百度的
- element.innerHTML = 'Latitude 纬度: ' + position.coords.latitude + '<br />' +
- 'Longitude 经度: ' + position.coords.longitude + '<br />' +
- 'Altitude 位置相对于椭圆球面的高度: ' + position.coords.altitude + '<br />' +
- 'Accuracy 以米为单位的纬度和经度坐标的精度水平: ' + position.coords.accuracy + '<br />' +
- 'Altitude Accuracy 以米为单位的高度坐标的精度水平: ' + position.coords.altitudeAccuracy + '<br />' +
- 'Heading 运动的方向,通过相对正北做顺时针旋转的角度指定: ' + position.coords.heading + '<br />' +
- 'Speed 以米/秒为单位的设备当前地面速度: ' + position.coords.speed + '<br />' +
- 'Timestamp 以毫秒为单位的coords的创建时间戳: ' + position.timestamp + '<br />';
- }
-
- function onError(error) {
- alert('code: ' + error.code + '\n' +
- 'message: ' + error.message + '\n');
- }
-
- </script>
- </head>
- <body>
- <p id="geolocation">Finding geolocation...</p>
- </body>
- </html>
相信看了上面的代码,position对象就不用再我详细介绍了.
另外geolocationOptions这个对象还是有必要介绍一下的,但是现在头太疼了,以后有空再补上吧.