微信小程序 ---- 定位授权

微信小程序 - 定位授权

官方API

0. 效果展示

初次授权:
在这里插入图片描述

拒绝后再次进入:
在这里插入图片描述
在这里插入图片描述

1. 全局配置

app.json文件配置

  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  },
  "requiredPrivateInfos": [
    "getLocation"
  ]

2. 代码展示

组件内使用

  onLoad(options) {
    this.getSetting()
  }
  // 校验是否授权定位
  getSetting() {
    wx.getSetting({
      success: (res) => {
        let authSetting = res.authSetting
        if (authSetting['scope.userLocation'] || authSetting['scope.userLocation'] == undefined) {
          // 已授权 || 尚未进行操作
          this.getLocation()
        } else {
        // 曾拒绝授权,需主动前往进行授权
          wx.showModal({
            title: '您未开启地理位置授权',
            content: '是否前往授权?',
            success: res => {
              if (res.confirm) {
                wx.openSetting()
              }
            }
          })
        }
      }
    })
  },
  // 获取位置信息
  getLocation() {
    wx.getLocation({
      altitude: 'altitude',
      highAccuracyExpireTime: 0,
      isHighAccuracy: true,
      type: 'type',
      success: (result) => {
        const {
          latitude,
          longitude
        } = result
        // 通过接口置换定位信息进行展示
        app.http.request('/get-location', {
          latitude,
          longitude
        }).then(res => {
          this.setData({
            address: res.data
          })
        })
      },
      fail: (err) => {
        wx.showToast({
          icon: 'error',
          title: '太频繁啦~',
        })
      },
    })
  },

页面内展示:

    <!-- 展示定位地址,点击可再次进行定位获取 -->
    <view class="address_tag flex flex_center" catchtap="getSetting">
      <text>{{address}}</text>
    </view>
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值