在HTML5中,为window.navigator对象新增了一个geolocation属性,可以使用Geolocation API来对该属性进行访问,该属性存在以下三个方法。
- 获取当前地理位置
void getCurrentPosition(onSuccess, onError, options);
- onSuccess - 获取当前地理位置成功时的回调函数
它的参数是一个position对象,position对象具有latitude、longitude 以及 accuracy 属性,如果可用还会有扩展属性:属性 描述 coords.latitude 十进制数的纬度 coords.longitude 十进制数的经度 coords.accuracy 位置精度 coords.altitude 海拔,海平面以上以米计 coords.altitudeAccuracy 位置的海拔精度 coords.heading 方向,从正北开始以度计 coords.speed 速度,以米/每秒计 timestamp 响应的日期/时间 - onError - 获取当前地理位置失败时的回调函数,它的参数是error对象,error两个属性:
code:1 用户拒绝了位置服务,2 获取不到位置信息,3 获取信息超时错误;
message,错误信息。 - options - 可选的参数列表,可选属性如下:
enableHightAccuracy,是否要求高精度的地理位置信息;
timeout,对地理位置信息的获取操作作一个超时限制;
maximumAge,对地理位置信息进行缓存的有效时间;
示例
window.navigator.geolocation.getCurrentPosition(
function(pos){
alert(pos.coords.latitude);
},
function(err){
alert(err.message);
}) - onSuccess - 获取当前地理位置成功时的回调函数
- 持续监视当前地理位置
int watchPosition(onSuccess, onError, options)
用来持续获取用户的当前地理位置信息,它会定时自动获取。该方法的参数与前者同。该方法会返回一个数字,可以被clearWatch方法用于取消监视。
- 停止获取地理位置信息
void clearWatch(watchId);
该方法调用watchPosition()方法的返回值。