微信小程序开通腾讯位置服务

本文介绍了如何在微信小程序开发中利用腾讯位置服务进行经度纬度逆地址解析,包括申请开发者密钥、开通webserviceAPI、安全域名设置以及使用QQMapWX库进行具体操作,以获取详细的省市区信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们平时小程序开发中需要用到定位服务传递省市区、省市区编码数据。

这时候我们可以使用 腾讯位置服务 将返回的经度、纬度进行逆地址解析,转换成详细地址

  • 申请开发者密钥(key):申请密钥

  • 开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用 ->添加key-> 勾选WebServiceAPI -> 保存

    (小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)

  • 下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1   JavaScriptSDK v1.2

  • 安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com


详细操作:

1、申请开发者密钥(key):申请密钥

2、开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用 ->添加key-> 勾选WebServiceAPI -> 保存

(小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)

下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1   JavaScriptSDK v1.2

此处我用的1.2版本,下载的文件引入项目

安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置request合法域名,添加https://apis.map.qq.com

5、小程序使用:

// 引入SDK核心类,js文件根据自己业务,位置可自行放置
var QQMapWX = require('../../libs/qqmap-wx-jssdk.js');

onLoad: function () {
   // 实例化API核心类
   this.qqmapsdk = new QQMapWX({
                  key: '申请的key'
             });
   },

  async getLocation() {
    let { latitude, longitude, name } = await wx.chooseLocation()
    this.qqmapsdk.reverseGeocoder({
      // 传入经、纬度
      location: {
        latitude,
        longitude
      },

      success: (res) => {
        // 获取选择的
        const { street, street_number } = res.result.address_component

        // province 省  city 市  district 区
        const {
          province, // 省
          city, // 市
          district, // 区
          adcode, // 行政区划代码
          city_code, // 城市代码,由国家码+行政区划代码(提出城市级别)组合而来,总共为9位
          nation_code // 国家代码
        } = res.result.ad_info
        console.log(res)
        this.setData({
          // 省级: 前两位有值,后4位置0,如,河北省: 130000
          provinceCode: adcode.replace(adcode.substring(2, 6), '0000'),
          provinceName: province,

          // 市前面多个国家代码,需要进行截取
          cityCode: city_code.slice(nation_code.length),
          cityName: city,

          // 东莞市、中山市、修州市、嘉关市 因其下无区县级,
          districtCode: district && adcode,
          districtName: district,

          // 详细地址
          address: street + street_number + name,
          fullAddress: street_number + name
        })
      }
    })
  },

根据行政区划对应省市区来获取对应的adcode最后还需要再腾讯控制台设置逆解析分配

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值