uniapp中获取经纬度线下获取成功,线上获取失败解决方案

uniapp开发App时需要用到获取经纬度的方法,uni.getLocation()   结尾有我在开发时遇到的问题

 用这个方法 然后需要在manifest.json的App模块配置中配置定位

 key需要自己在高德平台注册然后自己获取就行了

以下是获取附近加油站的位置的代码

getLocation(){
      uni.getLocation({
        type: 'wgs84 ', //不太知道wgs84 跟 gcj02 的具体区别  
        isHighAccuracy:true, // 开启高精度 没开高精度的时候定位偏移了一个路口
        success:res=> {  //成功回调
          uni.showToast({
            title:'定位获取成功',
            icon:'none'
          })
          this.lat = res.latitude  //自己打印一个res看看里面有啥
          this.lng = res.longitude
          this.$rqt.distance({    //获取经纬度之后调用接口  也可以把调用接口写一个方法调用方法
            lat:this.lat,  //向后台传参
            lng:this.lng   //传参
          }).then(res=>{
            this.gasId = res.data.gasId    //后面这些你愿意获取啥就获取啥
            this.gasName = res.data.gasName
            this.isShow = res.data.isShow
            console.log("当前加油站名称",this.gasName)
          })
        },fail:res=> {   //失败毁掉 也可以用complate 但是用complate成功失败都会打印
          uni.showToast({
            title:"当前位置获取失败",
            icon:'none'
          })
          return 
        } 
      })
    },

开发时遇到的问题:

uniapp在真机测试的时候 能获取到经纬度,并且调用接口,但是线上测试的时候获取不到经纬度,调失败的回调函数.

解决方法:

 配置Maps地图 只需要选上就行了 KEY 会自己给你用上面的,不需要其他配置项

然后我一开始获取经纬度 type配置的是type='gcjo2' 后来改成了type='wgs84'  线上测试的时候就能获取到当前的经纬度信息了,接口也能成功调用.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值