微信小程序调微信地图API,进行逆地址解析(根据经纬度获取当前位置名称)

1、申请API

a、进入https://lbs.qq.com/ 注册账号,根据提示注册API,创建一个应用

image

b、分配额度:

image

c、下载api文件  打开 https://lbs.qq.com/miniProgram/jsSdk/jsSdkGuide/jsSdkOverview

image

 

 

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

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

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

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

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

 

2、代码实现

在获取到经纬度后,调用 reverseGeocoder 方法。请务必注意坐标系一致:wx.getLocation 的 type 参数需设为 'gcj02',因为腾讯地图SDK默认使用此坐标系

 

// 引入SDK
const QQMapWX = require('./utils/qqmap-wx-jssdk.min.js');
const qqmapsdk = new QQMapWX({
  key: '你的腾讯地图KEY' // 此处填入你申请的密钥
});

// 先获取经纬度
wx.getLocation({
  type: 'gcj02', // 必须使用gcj02坐标系
  success: (res) => {
    // 进行逆地址解析
    qqmapsdk.reverseGeocoder({
      location: {
        latitude: res.latitude,
        longitude: res.longitude
      },
      success: (result) => {
        // 解析成功,result.result中包含丰富的地址信息
        const address = result.result.address; // 详细地址
        const city = result.result.address_component.city; // 城市名
        const district = result.result.address_component.district; // 区县名
        console.log('您位于:', address, city, district);
      },
      fail: (err) => {
        console.error('逆地址解析失败:', err);
      }
    });
  },
  fail: (err) => {
    console.error('获取位置失败:', err);
  }
});

 3、效果

image

 

posted @ 2025-12-10 09:50  ziff123  阅读(0)  评论(0)    收藏  举报