微信小程序弹出用户授权弹窗,微信小程序引导用户授权,获取位置经纬度

简介: 微信小程序弹出用户授权弹窗,微信小程序引导用户授权,获取位置经纬度

老规矩,先看效果图


授权.gif


一,我们使用位置信息,就需要授权


//校验位置权限是否打开
 checkLocation() {  let that = this;  //选择位置,需要用户授权
  wx.getSetting({
   success(res) {    if (!res.authSetting['scope.userLocation']) {
     wx.authorize({      scope: 'scope.userLocation',
      success() {
       wx.showToast({ //这里提示失败原因
        title: '授权成功!',        duration: 1500
       })
      },
      fail() {
       that.showSettingToast('需要授权位置信息');
      }
     })
    }
   }
  })
 },

弹窗.png


首先检验用户是否授权位置信息的权限“scope.userLocation”,如果有授权,我们就可以直接去获取用户的位置经纬度了。如果没有授权,我们就弹窗引导用户去设置页。去设置页的方法如下

// 打开权限设置页提示框
 showSettingToast: function (e) {
  wx.showModal({   title: '提示!',   confirmText: '去设置',   showCancel: false,   content: e,   success: function (res) {    if (res.confirm) {
     wx.navigateTo({      url: '../setting/setting',
     })
    }
   }
  })
 },

弹窗引导用户去设置页

由于去设置页,需要用户手动触发,这里我们就用一个setting.wxml页作为过过渡页。


过渡页


我们这个过渡页的按钮,用户点击后就会去真正的授权页了。


授权页

当用户开启地理位置授权后。我们再点击获取位置,就可以获取到用户当前的经纬度了。

获取到了经纬度


完整代码如下


//index.jsPage({
 getLocation() {  this.checkLocation();  let that = this;
  wx.chooseLocation({   success: function(res) {    var latitude = res.latitude    var longitude = res.longitude;
    that.setData({     address: "经纬度:" + longitude + ", " + latitude,
    })
   }
  });
 }, //校验位置权限是否打开
 checkLocation() {  let that = this;  //选择位置,需要用户授权
  wx.getSetting({
   success(res) {    if (!res.authSetting['scope.userLocation']) {
     wx.authorize({      scope: 'scope.userLocation',
      success() {
       wx.showToast({ //这里提示失败原因
        title: '授权成功!',        duration: 1500
       })
      },
      fail() {
       that.showSettingToast('需要授权位置信息');
      }
     })
    }
   }
  })
 }, // 打开权限设置页提示框
 showSettingToast: function (e) {
  wx.showModal({   title: '提示!',   confirmText: '去设置',   showCancel: false,   content: e,   success: function (res) {    if (res.confirm) {
     wx.navigateTo({      url: '../setting/setting',
     })
    }
   }
  })
 },
})

到此我们就实现了小程序引导授权的全部功能,并且可以获取到用户的位置经纬度了。是不是很简单。

相关文章
|
12天前
|
小程序 开发工具 Android开发
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(二)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(二)
|
12天前
|
小程序 JavaScript 开发工具
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
微信小程序开发工具的使用,各个配置文件详解,小程序开发快速入门(一)
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的在线课堂微信小程序的详细设计和实现
32 3
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信课堂助手小程序的详细设计和实现
56 3
|
22天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信点餐小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信点餐小程序的详细设计和实现
31 1
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的助农扶贫微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的助农扶贫微信小程序的详细设计和实现
33 2
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的微信阅读网站小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的微信阅读网站小程序的详细设计和实现
43 2
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的原创音乐小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的原创音乐小程序的详细设计和实现
13 1
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的实习记录小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的实习记录小程序的详细设计和实现
36 2
|
23天前
|
小程序 JavaScript Java
基于SpringBoot+Vue+uniapp微信小程序的校园防疫微信小程序的详细设计和实现
基于SpringBoot+Vue+uniapp微信小程序的校园防疫微信小程序的详细设计和实现
28 0