当前位置: 首页 > news >正文

濂溪区建设局网站网站文章怎么做分享qq

濂溪区建设局网站,网站文章怎么做分享qq,昆明网站搭建公司,怎么查一个公司是否正规公司在微信小程序中#xff0c;获取定位#xff0c;是需要用户授权的#xff0c;那么当用户拒绝授权后#xff0c;需要重新获取定位时#xff0c;是不会再调起授权界面#xff0c;这时需要用户主动打开设置界面#xff0c;才可以重新开启授权权限#xff1b; 那么#xf…在微信小程序中获取定位是需要用户授权的那么当用户拒绝授权后需要重新获取定位时是不会再调起授权界面这时需要用户主动打开设置界面才可以重新开启授权权限 那么在uniapp中获取位置信息处理要兼容用户同意授权、拒绝授权情况下最终能成功获取到位置信息的做以下处理 处理逻辑 一、获取定位时用户同意授权获取定位得到位置信息 第1步获取用户当前的授权状态 第2步判断是同意授权位置时 第3步获取位置 二、获取定位时用户拒绝授权获取定位的 第1步获取用户当前的授权状态 第2步判断是未同意授权位置时引导用户打开设置界面重新选择授权功能 第3步用户选择允许授权后 第4步重新获取位置得到位置信息 第3步用户选择不允许授权后 第4步可至第1步继续重新获取位置 引用文件可多页面复用的处理逻辑代码 引用文件 import { doGetLocation } from /utils/getLocation.js; 需要获取位置代码处执行 doGetLocation((data){console.log(data); }) getLocation.js // import { doGetLocation } from /utils/getLocation.js;let isOpenSetting;/*** 获取定位兼容用户拒绝授权及相关处理获取用户当前的授权状态 未同意授权位置时引导用户打开设置界面重新选择授权功能 允许后重新获取位置*/ export function doGetLocation(callback){isOpenSetting false; // 是否打开设置界面// 获取用户当前的授权状态uni.getSetting({success: (settingRes) {console.log(settingRes)console.log(isOpenSetting)// 判断用户未同意授权位置时提示并引导用户去打开设置界面用户可重新选择授权功能if (!isOpenSetting typeof(settingRes.authSetting[scope.userLocation]) ! undefined !settingRes.authSetting[scope.userLocation]) {uni.showModal({title: 需要授权获取您的位置信息,content: 你的位置信息将用于为您提供更合适您的服务,success: (data) {if (data.confirm) {isOpenSetting true;// 打开设置界面uni.openSetting({success: (response) {if(response.authSetting[scope.userLocation]){console.log(重新授权获取位置信息-同意);// 重新获取定位getLocation((data){callback({isOpenSetting:isOpenSetting,...data})});}else{console.log(重新授权获取位置信息-未同意);callback({isOpenSetting:isOpenSetting,latitude : ,longitude : ,})}},fail:(){console.log(openSetting接口调用失败的回调函数);}})} else if (data.cancel) {console.log(showModal接口用户点击取消未打开设置界面);callback({isOpenSetting:isOpenSetting,latitude : ,longitude : ,})}},fail: function(){console.log(showModal接口调用失败的回调函数);}});}else{// 重新获取定位getLocation((data){callback({isOpenSetting:isOpenSetting,...data})});}}}) }/*** 获取位置*/ export function getLocation(callback){uni.getLocation({//type: wgs84,type: gcj02,success: (res){console.log(res);callback({latitude : res.latitude,longitude : res.longitude,})},fail: (res){console.log(用户拒绝授权获取位置信息,使用默认经纬度0 0);callback({latitude : ,longitude : ,})},complete: (res){// console.log(res);// 根据位置数据更新页面数据}}); }直接在页面中处理逻辑代码 需要获取位置代码处执行 this.doGetLocation(); methods中处理方法 methods: {// ......// 获取定位兼容用户拒绝授权及相关处理获取用户当前的授权状态 未同意授权位置时引导用户打开设置界面重新选择授权功能 允许后重新获取位置doGetLocation(){this.isOpenSetting false; // 是否打开设置界面// 获取用户当前的授权状态uni.getSetting({success: (settingRes) {console.log(settingRes)console.log(this.isOpenSetting)// 判断用户未同意授权位置时提示并引导用户去打开设置界面用户可重新选择授权功能if (!this.isOpenSetting typeof(settingRes.authSetting[scope.userLocation]) ! undefined !settingRes.authSetting[scope.userLocation]) {uni.showModal({title: 需要授权获取您的位置信息,content: 你的位置信息将用于为您提供更合适您的服务,success: (data) {if (data.confirm) {this.isOpenSetting true;// 打开设置界面uni.openSetting({success: (response) {if(response.authSetting[scope.userLocation]){console.log(重新授权获取位置信息-同意);// 重新获取定位this.getLocation();}else{console.log(重新授权获取位置信息-未同意);this.doGetLocationAfter({latitude : ,longitude : ,isOpenSetting : this.isOpenSetting,})}},fail:(){console.log(openSetting接口调用失败的回调函数);}})} else if (data.cancel) {console.log(showModal接口用户点击取消未打开设置界面);this.doGetLocationAfter({latitude : ,longitude : ,isOpenSetting : this.isOpenSetting,})}},fail: function(){console.log(showModal接口调用失败的回调函数);}});}else{// 重新获取定位this.getLocation();}}})},// 获取位置getLocation(){uni.getLocation({//type: wgs84,type: gcj02,success: (res){console.log(res);this.doGetLocationAfter({latitude : res.latitude,longitude : res.longitude,isOpenSetting : this.isOpenSetting,})},fail: (res){console.log(用户拒绝授权获取位置信息,使用默认经纬度0 0);this.doGetLocationAfter({latitude : ,longitude : ,isOpenSetting : this.isOpenSetting,})// 根据位置数据更新页面数据},complete: (res){// console.log(res);// 根据位置数据更新页面数据}});},// 最终获取到的信息数据doGetLocationAfter(data){console.log(data)if(data.latitude ! this.latitude || data.longitude ! this.longitude){this.latitude data.latitude;this.longitude data.longitude;// 根据位置数据更新页面数据}else{console.log(位置信息无变化);}// 在这里处理最终获取到的信息数据},// ...... } uniapp API文档 获取定位 uni.getLocation(OBJECT) 获取当前的地理位置、速度https://uniapp.dcloud.net.cn/api/location/location.html#getlocation 获取用户当前的授权状态 uni.getSetting(OBJECT) 获取用户的当前设置。https://uniapp.dcloud.net.cn/api/other/setting.html#getsetting 打开设置界面 uni.openSetting(OBJECT) 调起客户端小程序设置界面返回用户设置的操作结果。https://uniapp.dcloud.net.cn/api/other/setting.html#opensetting
http://www.zqtcl.cn/news/895764/

相关文章:

  • 怎么利用网站做外链接阿里云网站部署
  • 做学校网站简述网站的制作步骤
  • 怎样让网站响应式推广策划案
  • 网站开发 面试 适当吹牛网站文件命名规则
  • 河北省建设中心网站图片分享网站源码
  • 工信部网站备案修改个人求职网站怎么做
  • 关于建设公司网站的申请宁波网站制作出售
  • 织梦电影网站免费模板网站域名asia是
  • 顺德中小企业网站建设宁乡市建设局网站
  • 静态网页模板 网站模板兰州做网站价格
  • 吕梁推广型网站建设godaddy托管 wordpress
  • 什么网站百度收录好珠海哪里做网站的
  • 如何介绍网站模板金融网站模版
  • 网站内链怎么优化e时代网站制作
  • 记事本做网站素材代码国内十大4a广告公司
  • 一米八效果图网站商业网站平台
  • 做搜狗手机网站优化产品推广计划怎么写
  • 网站链接优化怎么做ftp服务器
  • 什么网站可以接单做海报网站信息员队伍建设方案
  • 淘宝联盟 网站怎么做网站运营推广方案设计
  • 网站建设数据库类型百度seo现状
  • 德州网站优化公司平面设计公司企业logo设计
  • 山东平台网站建设价位网站广告文案
  • 可以做哪方面的网站万网董事长是谁
  • 京东网站开发费用程序员找工作的网站
  • 怎么做网站首页psdwordpress 注册验证
  • 商丘做网站的公司有哪些郑州网站公司排名
  • 竞价网站与竞价网站之间做友情链接企业邮箱查询
  • 国外jquery网站wordpress 下一页 模板
  • 安卓手机做网站云南建设厅网站职称评定