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

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

老规矩,先看效果图


授权.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',
     })
    }
   }
  })
 },
})

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

相关文章
|
2月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
853 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
2月前
|
小程序 算法 前端开发
微信小程序---授权登录
微信小程序---授权登录
103 0
|
2月前
|
人工智能 小程序 Python
Python编程小案例——编一个事件提醒弹窗小程序
Python编程小案例——编一个事件提醒弹窗小程序
31 0
|
3月前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
4月前
|
移动开发 小程序 前端开发
|
4月前
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
4月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
4月前
|
小程序 开发者
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
这篇文章介绍了微信小程序的初始化过程,包括如何注册微信小程序账号、下载微信小程序开发者平台,并指导了新建小程序的详细步骤。
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
|
4月前
|
存储 小程序 JavaScript
|
27天前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
27 0
在线课堂+工具组件小程序uniapp移动端源码

热门文章

最新文章