最近做的一个项目中有一个获取周围商户的功能,需要用到地理定位系统,

于是便想到了用 h5 的地理定位,查阅了下资料后,简单封装了下代码。

const getPosition = (

timeout = 10000,

maximumAge = 60000,

enableHighAcuracy = false) => new Promise((resolve, reject) => {

if (!navigator && !navigator.geolocation) {

return reject(new Error('geolocation api not supported'))

}

const success = (loc) => {

const location = {

latitude: loc.coords.latitude, // 纬度

longitude: loc.coords.longitude, // 经度

accuracy: loc.coords.accuracy // 精确度

}

resolve(location)

}

const error = () => reject('出错了')

navigator.geolocation.getCurrentPosition(success, error, {

enableHighAcuracy, // 指示浏览器获取高精度的位置,默认为false

timeout, // 指定获取地理位置的超时时间,默认不限时,单位为毫秒

maximumAge // 最长有效期,在重复获取地理位置时,此参数指定多久再次获取位置。

})

})

// 使用示例

getPosition()

.then(pos => pos)

.catch(err => console.log(err))

h5 的获取地理位置的 api 确实是很好用,不过由于获取用户的地理位置是属于用户的隐私,所以需要经过用户的授权才可以。

无论用户拒绝还是允许授权,该站点都会被浏览器缓存下来,下次访问的时候就不会再次询问用户了,除非用户手动移除该规定。在 chrome 中移除规则的地址在设置里面,如下图:

另外如果用户拒绝了,则可以通过选择 ip 来获取经纬度,一般误差会比较大

ipip.net是一个可以通过ip获取用户地理位置信息的网站。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html5经纬度定位 源码_h5实现获取用户地理定位的实例代码相关推荐

  1. 管家婆 源码 php,php获取当前页面完全URL的代码

    PHP或js获取当前页面完全URL的代码. 1,javascript代码: top.location.href 窗口的地址 this.location.href 当前窗口的地址 2,php代码: #测 ...

  2. android图库源码,android从系统图库中取图片的实例代码

    本文实例讲述了android从系统图库中取图片的实现方法.分享给大家供大家参考.具体如下: 在自己应用中,从系统图库中取图片,然后截取其中一部分,再返回到自己应用中.这是很多有关图片的应用需要的功能. ...

  3. 前端录屏+定位源码,帮你快速定位线上bug

    前言 如何快速定位线上bug,是多数开发者都会遇到的难题 web-see 前端监控方案,提供了 前端录屏+定位源码 方式,让bug无处藏身 这是前端监控的第二篇,该篇讲解如何实现错误还原功能,第一篇 ...

  4. 响应式重工业钢铁机械类网站pbootcms模板,html5工业设备网站源码下载

    (自适应手机版)响应式重工业钢铁机械类网站pbootcms模板,html5工业设备网站源码下载. PbootCMS内核开发的网站模板,该模板适用于企业通用.营销型.钢铁.钢材.重工业.机械.工业设备. ...

  5. 微信html5小游戏源码70种

    2019独角兽企业重金招聘Python工程师标准>>> 微信html5小游戏源码70种 http://download.csdn.net/detail/csdddn/9419955游 ...

  6. 比心app源码,html 获取时间

    比心app源码,html 获取时间相关的代码 <script type="text/javascript">var a = new Date();//时间戳var t ...

  7. (完整项目源码)GPS定位源码整套管理系统,轨迹播放,车辆管理,电子围栏,报警记录,数据库/人员定位/宠物定位/物流跟踪/资产定位

    (完整项目源码)GPS定位源码整套管理系统,轨迹播放,车辆管理,电子围栏,报警记录,Mysql数据库- 框架:spring+jpa+struts2 ,MVC架构设计,可扩展性强. 数据库:mysql5 ...

  8. 分享一个很酷很炫的html5特效网站源码

    原创整理不易,转载请注明出处:分享一个很酷很炫的html5特效网站源码 代码下载地址:http://www.zuidaima.com/share/1784027301841920.htm 在线演示:h ...

  9. 提供源码:java获取节假日、工作日,存入数据库,查找指定日期前一天,后一天。

    提供源码:java获取节假日.工作日,存入数据库,查找指定日期前一天,后一天. 码云地址: https://gitee.com/guyuanman/holiday 业务场景: 好多公司的业务在处理的时 ...

最新文章

  1. 消灭 Java 代码的“坏味道”
  2. 2020腾讯AI Lab犀牛鸟专项研究及访问学者计划入选项目公布!!!
  3. 半木下低风险交易-1
  4. WEP自动破解工具wesside-ng
  5. IIS网站服务器性能优化指南
  6. Spring-基于Spring使用自定义注解及Aspect实现数据库切换
  7. 树莓派查看mysql的密码_树莓派安装MySQL 后若何获取登录密码
  8. 查看MS-SQL的安装版本及补丁
  9. android程序大牛,冲向大牛之安卓:学习界面怎么在程序中画出来
  10. 求1-100数字的和
  11. (总结5)H5中新增的功能性事件
  12. Oracle常规恢复的实验测试
  13. Origami 用于Quartz 的免费的交互设计框架
  14. python输出到指定文件夹_python实现指定文件夹下的指定文件移动到指定位置
  15. android view 3d,Android 使用ViewPager打造3D画廊效果
  16. 人生有多少次可以改命的机会,你把握住了几次,卷了几次(闲扯版)
  17. 【霍罗维兹数据结构】线索二叉树 | THREADED BINARY TREES
  18. 由键盘输入正数n,要求输出如下2*n+1行的菱形图案。用c语言实现。
  19. CSS 实现图片翻转
  20. ORB-SLAM2多线程用法总结

热门文章

  1. 掌上单片机实验室 - 编程环境(续)(6)
  2. Docker:windows7系统环境下安装docker:Manifest extraction failed: 找不到Windows运行时类型Windows.Data.Json.JsonObject
  3. kali linux中goldendict查词慢的问题
  4. wse抓包_WSE和时间戳记-TimeZones和Tijuana
  5. 混合开发架构|Android工程集成React Native、Flutter、ReactJs
  6. 【Javaee毕业设计】基于JAVA_JSP电子书下载系统
  7. BISTU-(1)-4-17-2016
  8. window电脑端,微信客户端双开,两行代码。
  9. 计算机操作系统原理第二章习题
  10. 【C#学习】单个问号的作用