h5获取地理坐标

h5获取地理坐标

 方法:h5自带获取地理信息的api

api:navigator.geolocation.getCurrentPosition

  https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition

代码:(vue,iview)

复制代码
getLocation () { // 检测是否支持地理定位 如果支持,则运行 getCurrentPosition() 方法。如果不支持,则向用户显示一段消息。
      if (navigator.geolocation) { // 如果getCurrentPosition()运行成功, //则向参数showPosition中规定的函数返回一个coordinates对象
        navigator.geolocation.getCurrentPosition((position) => {
          this.lon = position.coords.longitude
          this.lat = position.coords.latitude
        }, error => {
          switch (JSON.stringify(error.code)) {
            case 1:
              this.$Message.error('地理位置信息的获取失败,因为该页面没有获取地理位置信息的权限。')
              break
            case 2:
              this.$Message.error('地理位置获取失败,因为至少有一个内部位置源返回一个内部错误。')
              break
            case 3:
              this.$Message.error('获取地理位置的超时时长。')
              break
            default:
              this.$Message.error('地理位置信息的获取失败,因为该页面没有获取地理位置信息的权限。')
          }
        })
      } else {
        this.$Message.error('对不起,您的浏览器不支持地理位置定位')
      }
    }
复制代码

注释:

经测试大部分浏览器可用,但微信内置浏览器问题会有问题。微信需要使用weixin-js-sdk中的wx.getLocatio()方法。

上述函数在微信内置浏览器中会返回报错:地理位置信息的获取失败,因为该页面没有获取地理位置信息的权限。

 

钻研不易,转载请注明出处......

posted @   莫小龙  阅读(2729)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2018-06-14 基于vue-easytable实现数据的增删改查
点击右上角即可分享
微信分享提示