我是靠谱客的博主 孝顺砖头,最近开发中收集的这篇文章主要介绍微信小程序地址获取,不涉及商业版权获取当前位置信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  1. 获取用户当前小程序设置,判断是否授权,若没有授权,则弹出设置选项让用户进行授权
     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() // 获取当前定位
              }
            }
          })
        }

  2. 授权后调用微信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
              })
            }
          })
        }

  3. 获取位置信息后,使用当前经纬度获取具体位置信息,不涉及地图商业授权
    // 获取定位城市信息
        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)
            }
          })
        },

最后

以上就是孝顺砖头为你收集整理的微信小程序地址获取,不涉及商业版权获取当前位置信息的全部内容,希望文章能够帮你解决微信小程序地址获取,不涉及商业版权获取当前位置信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部