微信小程序之获取用户位置权限

微信小程序获取用户当前位置有三个方式:

1. wx.getLocation

注意: 先要在app.json里配置permission:

不然就会出现以下提示(本地测试环境):

配置如下:

"permission": {"scope.userLocation": {"desc": "为了给您提供更好的服务,请授权您的地理位置信息"}},

wxml:

<button class="btn" type="primary" bindtap="handleGetLocation">getLocation
</button>

js:

handleGetLocation: function () {//获取位置wx.getLocation({type: 'gcj02', //默认为 wgs84 返回 gps 坐标,gcj02 返回可用于wx.openLocation的坐标success: (res) => {console.log(res)},fail: (err) => {console.log(err)}})},

success回调函数返回数据:

2.wx.chooseLocation

wxml:

<button class="btn" type="default" bindtap="handleChooseLocation">chooseLocation
</button>

js:

handleChooseLocation: function () {wx.chooseLocation({success: (res) => {console.log(res)let {latitude, longitude, name} = resthis.setData({hasLocation: true,latitude, longitude, name})},fail: (err) => {console.log(err)}});},

打开地图效果:

选择完地址 success回调函数返回数据:

3.wx.openLocation

wxml:

<button class="btn" type="default" bindtap="handleChooseLocation">chooseLocation
</button>
<button class="btn" wx:if="{{hasLocation}}" type="warn" bindtap="handleOpenLocation">openLocation
</button>

js:

handleOpenLocation: function () {let {latitude, longitude, name} = this.datawx.openLocation({latitude,longitude,name,scale: 28})  },

打开地图效果:

授权方法有三种:

1. wx.getSetting

js:

wx.getSetting({success (res) {console.log(res.authSetting)}})

输出结果如下: 

2. wx.openSetting

调起权限设置选择界面,设置界面只会出现小程序已经向用户请求过的权限,如下面:

3. wx.authorize

onShow: function () {//初始获取定位权限wx.authorize({scope: 'scope.userLocation',success: (res) => {console.log(res)},fail: (err) => {console.log(err)}})},

说下一个常见场景,用户不允许授权地理位置信息,在后续操作中又需要授权才能使用地图,如何处理:

可以在fail里弹对话框:

wxml:

<button class="btn" type="default" bindtap="onChooseLocation">chooseLocation
</button>

js:

handleChooseLocation: function() {wx.chooseLocation({success: (res) => {console.log(res)let {latitude, longitude, name} = resthis.setData({hasLocation: true,latitude, longitude, name})},fail: (err) => {console.log(err)}});},onChooseLocation: function () {let self = this;wx.getSetting({success: (res) => {if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] == true) {self.setData({position: true,})//获取当前位置self.handleChooseLocation();} else {//未授权wx.showModal({title: '请求授权当前位置',content: '需要获取您的地理位置,请确认授权',success: function (res) {if (res.cancel) {//取消授权wx.showToast({title: '拒绝授权',icon: 'none',duration: 1000})} else if (res.confirm) {//确定授权,通过wx.openSetting发起授权请求wx.openSetting({success: function (res) {if (res.authSetting["scope.userLocation"] == true) {// wx.showToast({//   title: '授权成功',//   icon: 'success',//   duration: 1000// })//再次授权,调用wx.getLocation的APIself.handleChooseLocation();} else {// wx.showToast({//   title: '授权失败',//   icon: 'none',//   duration: 1000// })}}})}}})}},fail(res) {console.log(res)}})    },

参考资料: 

授权 | 微信开放文档

微信小程序之获取用户位置权限(拒绝后提醒) - 站住,别跑 - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/41072.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发布微信小程序获取收集用户信息权限

前言 在发布微信小程序的时候我们经常会遇到审核不通过的情况&#xff0c;其中一种特别让我头疼就是说小程序收集、使用和储存用户信息。不给予通过。 但是他们的接口又不能提供这个功能&#xff0c;并且老是改动&#xff0c;真的特别的麻烦加无语。有时候审核偷一下懒&#xf…

微信小程序授权登录wx.getUserProfile获取不到昵称及头像解决方案

半年前做的个小程序&#xff0c;更新了二个文字&#xff0c;重新上传审核通过&#xff0c;悲剧了&#xff0c;新用户的昵称全部变为微信用户&#xff0c;头像全部变为默认头像&#xff0c;查了半天代码没找到原因&#xff0c;相当头大&#xff0c;搜了一下文档&#xff0c;尴尬…

小程序中的权限设计

日常我们开发小程序的时候,经常需要考虑权限如何设计,比如在我的页面,管理员可以看到一些菜单,而普通用户可以看到另外一些菜单。那如何设计这种带权限的功能呢?本文就以低代码工具为例,看看低代码中是如何设计小程序的权限的。 1 权限表设计 在通用的RBAC模型中,角色…

chatgpt赋能python:Python画出物体的运动轨迹

Python画出物体的运动轨迹 Python是一种很流行的编程语言&#xff0c;主要用于数据处理、科学计算以及图形绘制。在这篇文章中&#xff0c;我们将探讨如何使用Python画出物体的运动轨迹。 介绍 物体的运动轨迹通常是我们需要关注的问题。当我们在研究物理、机械、运动学、航…

chatgpt赋能python:Python画三维轨迹图:一个引人注目的可视化工具

Python画三维轨迹图&#xff1a;一个引人注目的可视化工具 Python是一种十分适合数据分析及科学计算的编程语言&#xff0c;它的可视化功能非常强大&#xff0c;其中最为出色的一点就是画三维轨迹图。这种图表的本质是一种描绘物体运动轨迹的可视化效果&#xff0c;它可以直观…

英文面试常见问题及回答汇总

今天给大家奉上英文面试常见问题及回答的合集&#xff0c;英语面试主要就是学习如何用英语回答面试常见问题&#xff0c;英文面试常见问题说来说去其实重要的就那么几个&#xff0c;所以今天分享的英文面试常见问题及回答大家只要知道其套路&#xff0c;然后灵活运用就行了。 常…

我的性格类型—— INFP(哲学家型人格 )

测试日期&#xff1a;2019/6/9 基本描述 INFP (Introverted Feeling with Intuition)代表人物&#xff1a;卢梭 语录&#xff1a;虽然我的心既傲慢又温柔&#xff0c;我的性格柔弱&#xff0c;然而&#xff0c;我是不可战胜的。 才储分析&#xff1a;您的性格类型倾向为“…

什么是MBTI,16种人格类型详解

MBTI是Myers-Briggs Type Indicator的缩写&#xff0c;是一种经典的人格类型测评工具&#xff0c;通过对个体心理偏好的测试和分析。 MBTI人格理论认为&#xff0c;人类的人格特征可以从四个角度进行分析&#xff1a;认知功能、信息获取、决策方式和生活方式。每个角度都有两个…

什么是i人,mbti中的i型人格是怎么样的

i人是MBTI总的I型人格&#xff0c;也就是内向型人格&#xff08;Introversion&#xff09;&#xff0c;在MBTI中是其中一个维度。以下是i人的一些常见特征和倾向&#xff1a; 1、内向和独处&#xff1a;I型人格更倾向于独自思考和独处。他们通常从独立的思考和内省中获取精力和…

MBTI性格测试中的 INTP 型人格

摘要&#xff1a;熟悉心理学的朋友&#xff0c;对mbti都不会陌生。而intp&#xff0c;可以说是一种牌玩得好就是天才&#xff0c;玩得不好境遇会十分惨&#xff0c;两极分化很严重的类型。今天我们来讲讲intp型人格都有哪些特征吧。 先来看看intp类型的人一般的倾向性。 MBTI性…

AI风范,院士点赞丨北京人工智能峰会暨AI金雁奖颁奖典礼成功举办,实在智能再获AI金雁奖

4月14日&#xff0c;由中国电子商会人工智能委员会主办&#xff0c;中国创业者俱乐部、北京集智未来人工智能产业创新基地联合主办的“2023北京人工智能峰会暨AI金雁奖颁奖典礼”举行&#xff0c;汇聚了人工智能各领域的产学研专家、院士、人工智能企业代表近300人&#xff0c;…

危!这回,我真的失业了!

因公众号更改推送规则&#xff0c;请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号&#xff0c;领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇&#xff1a;赞&#xff01;ChatGPT能接入微信了&#xff01; 大家好&#xff0c;…

智能化时代的软件工程:拥抱大模型的正确姿势

智能化时代 Foundation Model Software Engineering 软件工程 以ChatGPT为代表的大模型技术对于包括软件工程在内的很多领域都带来了巨大的冲击&#xff0c;也引发了广泛的焦虑。为了在迷雾中看清一点方向&#xff0c;近期我们基于各种技术文献和实践分享以及我们自身的一些初步…

Apple Watch 发布 | 历史上的今天

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 4 月 24 日&#xff0c;中国航天日&#xff0c;在 1970 年的今天&#xff0c;中国第一颗卫星“东方红一号”发射升空。“东方红一号”是我国于 1970 年 4 月 24…

若依前后端分离 使用富文本编辑器 wangEditor

用于 Vue React | wangEditor 组件下载地址 有视频教程 vue版本 2的使用 进入项目cmd输入安装命令 yarn add wangeditor/editor 新建一个文件夹 新建一个文件名字为MyEditor <template><div><div><div class"header-height"><el-bu…

智能AI伪原创工具文章在线生成源码

​ 今天我将分享一个更有趣的PHP源码&#xff0c;您可以直接使文章在线伪原创&#xff0c;有需要的朋友可以尝试 它。 所有网站管理员朋友都必须对网站的原始内容感到头疼。 作为草根网站管理员&#xff0c;您不可能自己撰写原创文章。 当然&#xff0c;我并不是说您不能写一个…

百度编辑器ueditor的简单使用

最近刚被分配了以个消息发布的任务&#xff0c;其中用到了富文本编辑器。以前也用过&#xff0c;不过这次我选择的是百度富文本编辑器ueditor1_4_3-utf8-jsp版的。 其实看ueditor功能很强大&#xff0c;不过百度的设计还是很不错的。只需要稍微配置一下就可以用了。 首先下载到…

只需2步uniapp集成富文本编辑器wangEditor4

官网文档地址 首先安装 npm i wangeditor --save 使用 <div id"div1"><p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p> </div>import E from wangeditoronReady() {this.initEditor() },/*** 初始化富文本编辑器*/ initEdi…

tui-editor富文本编辑器组件

tui-editor富文本编辑器 记录项目中使用富文本编辑器 安装 npm init & npm install --save tui-editor创建组件文档 tuieditor 在 default-options.js中 // doc: https://nhnent.github.io/tui.editor/api/latest/ToastUIEditor.html#ToastUIEditorexport default {minH…

ueditor 百度富文本编辑器后端配置(上传图片)

在前端已经写好的情况下进行以下操作 1&#xff0c;在public/assets/addons/ueditor内新建 config.json并加入以下代码 {"imageActionName": "uploadimage","imageFieldName": "upfile","imageMaxSize": 2048000,"im…