开通腾讯位置复位

使用wx.chooseLocation能够让用户选择地理位置,但是它返回的数据并没有包含省市区等编码数据,新增收货地址是需要传递省市区编码数据,因此,可以使用 腾讯位置服务,将返回的经度、纬度进行地址解析,转换成详细的地址

import QQMapWX from "../../libs/qqmap-wx-jssdk.js"

Page({

  data:{
    provinceName:'',//省
    provinceCode:'', //省编码
    cityName:'', // 市
    cityCode:'', // 市编码
    districtName:'', // 区
    districtCode:'', // 区编码
    address:'', // 详细地址
    fullAddress:'' // 完整地址
  },

  async onLocation() {
    // 打开地图,选择位置
    // latitude经度, longitude纬度, name 搜索的地点
    const {latitude, longitude, name} = await wx.chooseLocation()
    this.qqmapsdk.reverseGeocoder({
      location:{
        latitude, longitude, name
      },
      success:(res) => {
        // 省市区,省市区编码
        const { adcode, province, city, district } = res.result.ad_info
        // 街道、门牌,可能是空
        const { street, street_number} = res.result.address_component
        // 获取标准地址
        const { standard_address} = res.result.formatted_address
        // 赋值
        this.setData({
          provinceName:province,
          // 省,前2位有值,后面4位是 0 
          provinceCode:adcode.replace(adcode.substring(2,6), '0000'),
          cityName:city,
          // 市,前4位有值,后面2位是 0 
          cityCode:adcode.replace(adcode.substring(4,6), '00'),
          districtName:district,
          districtCode:district && adcode,
          // 以下两个在开发中根据需求处理
          // 详细地址
          address:street+street_number + name,
          // 完整地址
          fullAddress:standard_address+name
        })
      }
    })
  },

  onLoad() {
    this.qqmapsdk = new QQMapWX({
      key: '申请的key'
    });
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值