微信小程序调微信地图API,进行逆地址解析(根据经纬度获取当前位置名称)
1、申请API
a、进入https://lbs.qq.com/ 注册账号,根据提示注册API,创建一个应用

b、分配额度:

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

-
申请开发者密钥(key):申请密钥
-
开通webserviceAPI服务:控制台 ->应用管理 -> 我的应用 ->添加key-> 勾选WebServiceAPI -> 保存
(小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需要具备相应的权限)
-
下载微信小程序JavaScriptSDK,微信小程序JavaScriptSDK v1.1 JavaScriptSDK v1.2
-
安全域名设置,在小程序管理后台 -> 开发 -> 开发管理 -> 开发设置 -> “服务器域名” 中设置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、效果


浙公网安备 33010602011771号