概述
- 获取用户当前小程序设置,判断是否授权,若没有授权,则弹出设置选项让用户进行授权
againGetLocation() { let pages = getCurrentPages() // 当前页面 const that = this wx.getSetting({ success: (res) => { if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {//非初始化进入该页面,且未授权 wx.showModal({ title: '是否授权当前位置', content: 'xxxxx', success: function (res) { if (res.cancel) { that.setData({ isshowCIty: false }) wx.showToast({ title: '授权失败', duration: 1000 }) } else if (res.confirm) { wx.openSetting({ success: function (dataAu) { if (dataAu.authSetting['scope.userLocation'] == true) { wx.showToast({ title: '授权成功', icon: 'success', duration: 1000 }) //再次授权,调用getLocationt的API this.getNowCity() // 获取当前定位 } else { wx.showToast({ title: '授权失败', duration: 1000 }) } } }) } } }) } else if (res.authSetting['scope.userLocation'] === undefined) {//初始化进入 this.getNowCity() // 获取当前定位 } else { //授权后默认加载 this.getNowCity() // 获取当前定位 } } }) }
- 授权后调用微信getLocation接口获取位置信息
getNowCity(){ const that = this // 获取经纬度 wx.getLocation({ type: 'wgs84', title: '是否授权当前位置', content: '需要获取您的地理位置,请确认授权,否则无法获取您所需数据', success: function (res) { that.nowlocation.latitude = res.latitude, that.nowlocation.longitude = res.longitude that.$store.commit('UPDATE_LOCATION', that.nowlocation) that.getDetail() }, fail: function (res) { wx.showToast({ title: '授权失败', duration: 1000 }) } }) }
- 获取位置信息后,使用当前经纬度获取具体位置信息,不涉及地图商业授权
// 获取定位城市信息 getDetail(){ const that = this wx.chooseLocation({ latitude: that.nowlocation.latitude, // 上一步操作获取的经纬度 longitude: that.nowlocation.longitude, success (res) { const { address, latitude, longitude } = res const regex = '(?<province>[^省]+省|.+自治区)(?<city>[^自治州]+自治州|[^市]+市|[^盟]+盟|[^地区]+地区|.+区划)(?<county>[^市]+市|[^县]+县|[^旗]+旗|.+区)?(?<town>[^区]+区|.+镇)?(?<village>.*)'; const address2 = address.match(regex) // 根据省、市、区重组数组 that.cityInfo.cityName = address2[2] // 当前城市 that.nowlocation.latitude = latitude that.nowlocation.longitude = longitude that.$store.commit('UPDATE_NOWCITY', that.cityInfo) that.$store.commit('UPDATE_LOCATION', that.nowlocation) }, fail (res) { //console.log(res) } }) },
最后
以上就是孝顺砖头为你收集整理的微信小程序地址获取,不涉及商业版权获取当前位置信息的全部内容,希望文章能够帮你解决微信小程序地址获取,不涉及商业版权获取当前位置信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复