微信小程序判断用户是否打开定位权限,如果没有指引用户打开

 huidaogerenweizhi(){
      console.log('回到个人位置');
    let that = this
    wx.getSetting({
      success: (res) => {
        let authSetting = res.authSetting
        if (authSetting['scope.userLocation']) {
          that.getCurrentLocation()
        } else if (authSetting['scope.userLocation'] === false) {
          wx.showModal({
            title: '您未开启地理位置授权',
            content: '请在系统设置中打开位置授权,以便我们为您提供更好的服务',
            success: (res) => {
              if (res.confirm) {
                wx.openSetting()
              }
            }
          })
        } else {
          wx.authorize({
            scope: 'scope.userLocation',
            success: () => {
              that.getCurrentLocation()
            },
            fail: () => {
              wx.showModal({
                title: '您未开启地理位置授权',
                content: '请在系统设置中打开位置授权,以便我们为您提供更好的服务',
                success: (res) => {
                  if (res.confirm) {
                    wx.openSetting()
                  }
                }
              })
            }
          })
        }
      }
    })
    },
    getCurrentLocation() {
      let that = this
      wx.getLocation({
        type: 'gcj02',
        success: function (res) {
          that.setData({weidu: '',jingdu: ''})
          console.log("当前坐标信息:", res)
          that.setData({weidu: res.latitude,jingdu: res.longitude})
        },
        fail: function(err) {
          console.log(err);
          if(err.errMsg === 'getLocation:fail:auth denied') {
            wx.showToast({
              title: '拒绝授权',
              icon: 'none'
            })
          } else if(err.errMsg === 'getLocation:fail:ERROR_NOCELL&WIFI_LOCATIONSWITCHOFF' ||
          res.errMsg === 'getLocation:fail system permission denied' ||
          res.errMsg === 'getLocation:fail:system permission denied') {
            wx.showModal({
              title: '您未开启地理位置授权',
              content: '请在系统设置中打开定位服务,以便我们为您提供更好的服务',
              showCancel: false
            })
          }
        }
      })
    }

触发 huidaogerenweizhi 函数检测到用户未开启定位权限

用户点击确定之后跳转到设置引导用户开启权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值