H5获取定位,h5位置定位代码
最近的一个项目,有一个获取周边商户的功能,需要使用地理定位系统。
然后我想到了用h5地理位置,在查阅了下面的资料后,我简单的封装了下面的代码。
const get position=(time out=10000,maximumAge=60000,enableHighAcuracy=false)=new Promise((resolve,reject)={ if(!领航员!navigator . geolocation){ return reject(new Error( geolocation API不支持)} const success=(loc)={ const location={ latitude:loc . coords . latitude,//latitude longitude:loc . coords . longitude,//经度精度:loc . coords . accuracy//accuracy } resolve(location)} const Error=()=reject( Error )navigator . geolocation . getcurrentposition(success,{ enablehighacracy,//指示浏览器获取高精度位置,默认值为false timeout。//指定获取地理位置的超时时间。默认值为无限制,单位为毫秒maximum image//最大有效期。重复获取地理位置时,此参数指定再次获取位置的频率。} } })//用示例getPosition()的api真的很有用。然后(pos=pos)。捕捉(err=console.log (err)) H5以获取地理位置。但由于获取用户的地理位置属于用户的隐私,需要用户的授权。
无论用户拒绝还是允许授权,该站点都会被浏览器缓存,用户下次访问时不会被再次询问,除非用户手动删除该规则。chrome中移除规则的地址在设置中,如下图:
另外,如果用户拒绝,可以选择ip获取经纬度,一般误差会比较大。
Ipip.net是一个可以通过ip获取用户地理位置信息的网站。
这就是本文的全部内容。希望对大家的学习和支持有帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。