微信小程序【关于地址信息的接入以及自动选择当前位置】

在做收货地址的时候,通常会让用户填写或者打开地图选择收获地址,此时就需要用到微信提供的地址API,在使用地址API的时候需要注册对应的API,而且地址API会经常调整,需要关注官方公告,下面就是关于地址API的使用。

第一部分

先看下此设置有没有打开
在这里插入图片描述

进入微信开发者文档,在API下找到位置,此处就是位置信息API了
在这里插入图片描述
在这里插入图片描述
在使用位置信息之前,需要在app.json中注册位置信息api
此处我使用的是wx.chooseLocation,所以在app.json中注册这个api即可
在这里插入图片描述
注册完成后,在页面使用

    //   选择地址 在事件内调用这个api即可
      wx.chooseLocation({
        latitude: 0,
        success(res){
            console.log(res);  // 选择的地址信息
        }
      })
    },

第二部分

部分API会弹出需要在app.json中声明permission字段
在这里插入图片描述
虽然在requiredPrivateInfos注册过
在这里插入图片描述
但是还需要在permission中注册

在这里插入图片描述
此时再使用API即可

// 获取当前地址信息
    wx.getLocation({
        type: 'gcj02', //返回可以用于 wx.openLocation 的经纬度
        success (res) {
          const latitude = res.latitude  // 维度
          const longitude = res.longitude  // 经度
          wx.openLocation({
            latitude,
            longitude,
            scale: 18
          })
        }
       })

在这里插入图片描述

打开位置信息,自动定位到当前位置

     // 地址
    addAddress(){
        let that = this
    //   选择地址
   wx.getLocation({    // 获取当前地址信息,地理位置、速度
    type: 'gcj02', //返回可以用于 wx.openLocation 的经纬度
    success (res) {
      const latitude = res.latitude  // 维度
      const longitude = res.longitude  // 经度
      wx.chooseLocation({   // 通过经纬度自动定位到当前位置
        latitude,   // 维度
        longitude,  // 经度
        success(res){
            wx.setStorageSync('address', res.address+res.name)   
            that.setData({
                address : res.address+res.name  // 将当前位置信息保存,回显
            })
        }
      })
    }
   })
    },
posted @ 2023-01-30 18:53  兔子先森Ace  阅读(429)  评论(0编辑  收藏  举报