html5 geolocation定位

html5 geilocation Api

Geolocation api 通过navigator.geolocation全局对象进行访问。初次访问时,浏览器会询问用户是否允许共享位置。
  1. 判断浏览器是否支持Geolocation API
function success(position) {
	console.log('获取位置成功',position.coords);
}
function error(positionError) {
	console.log('获取位置失败',positionError.code,positionError.message)
}

var options = {
	enableHighAccuracy: false,
	timeout: 30000,
	maxinumAge: 0
}
if(navigator.geolocation){
	//获取地理位置
	//获取当前位置,调用navigator.geolocation.getCurrentPosition()
	navigator.geolocation.getCurrentPosition(success,error,options);
}else{
	alert('你的浏览器不支持geolocation');
}

getCurrentPosition(success,error,options)方法参数说明

  1. 参数1,成功获取位置后,调用的回调函数。返回的参数对象包含获取位置时的时间戳timestamp和坐标信息coords.coords对象包含了很多有用的位置信息,常用的属性如下:
latitude: 坐标维度;
longitude: 坐标经度;
accuracy: 坐标精度,单位为米;
  1. 参数2,失败的回调。返回的对象positionError,message属性包含了相关的错误信息描述,positionError.code的值有以下几种:
  • UNKONWN_ERROR(0): 其他错误;
  • PERMISSION_DENIED(1): 用户拒绝分享位置信息;
  • POSITION_UNAVALlAEL(2): 获取用户位置信息失败;
  • TIMEOUT(3): 获取位置信息超时;
    3.参数3,可以用来设置以下内容:
  • enableHighAccuracy: 布尔值,是否获取高精度的位置,如果开启,可能会增加响应时间,默认值为false.
  • timeout: 定位超时时间,单位为毫秒,如到达时间时没有获取用户位置信息,则触发失败回调函数,默认值为0.表示无穷大。
  • maxinumAge: 用户位置信息缓存的最大时间(单位为毫秒),默认值为0。

当用户位置变化时,还可以通过watchPosition()方法监听用户的位置信息,watchPosition的参数和getCurrentPosition相同。函数返回后返回一个唯一标识,可以使用clearWatch()方法来取消监听,代码如下:

var watchId = navigator.geolocation.watchPosition(success,error,option);
navigator.geolocation.clearWatch(watchId)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值