4.8 KiB
4.8 KiB
腾讯地图 API 配置指南
问题
❌ 逆地理编码API返回失败: {status: 199, message: "此key未开启WebserviceAPI功能"}
原因
当前使用的 API Key Q7CBZ-CC2C5-5O6IA-IU5VM-KJGAF-IKBRO 没有开启 WebService API 权限。
解决步骤
方案1:开启现有Key的WebService权限(推荐)
-
登录腾讯地图开放平台
- 网址:https://lbs.qq.com/console/mykey.html
- 使用你的腾讯账号登录
-
找到你的Key
- 在"我的应用"中找到 Key:
Q7CBZ-CC2C5-5O6IA-IU5VM-KJGAF-IKBRO
- 在"我的应用"中找到 Key:
-
编辑Key配置
- 点击"设置"或"编辑"按钮
- 找到"可用服务"或"服务类型"
-
勾选WebService API
- ✅ 勾选 WebService API
- ✅ 特别确保勾选 逆地理编码(地址解析)
-
保存配置
- 点击保存
- 等待1-2分钟生效
方案2:创建新的Key(备选)
如果无法修改现有Key,可以创建一个新的:
-
创建新应用
- 进入:https://lbs.qq.com/console/mykey.html
- 点击"创建应用"
-
填写应用信息
- 应用名称:习正陪伴小程序
- 应用类型:微信小程序
-
添加Key
- 点击"添加Key"
- Key名称:习正陪伴-地图服务
- 勾选服务类型:
- ✅ WebService API
- ✅ 逆地理编码
- ✅ 地点搜索(可选)
-
配置域名白名单
- 在"域名白名单"中添加:
*.qq.com - 或者留空(不限制)
- 在"域名白名单"中添加:
-
获取新Key
- 复制生成的Key
- 替换到代码中
方案3:使用微信小程序的位置API(临时方案)
如果暂时无法配置腾讯地图API,可以使用微信小程序自带的位置API:
// 使用微信小程序的逆地理编码
wx.chooseLocation({
success: (res) => {
console.log('地址:', res.address)
console.log('详细地址:', res.name)
this.address = res.address + res.name
}
})
但这个方案需要用户手动选择位置,体验不如自动获取。
配置新Key到代码
如果创建了新Key,需要更新以下文件:
1. 更新 map.js 配置
// peidu/uniapp/src/config/map.js
export const TENCENT_MAP = {
key: '你的新Key', // 替换这里
geocoderUrl: 'https://apis.map.qq.com/ws/geocoder/v1/',
directionUrl: 'https://apis.map.qq.com/ws/direction/v1/',
}
2. 更新签到页面中的Key
需要更新以下文件中硬编码的Key:
peidu/uniapp/src/teacher-package/pages/teacher/checkin.vuepeidu/uniapp/src/teacher-package/pages/teacher/checkout.vuepeidu/uniapp/teacher-package/pages/teacher/checkin.vue
搜索 Q7CBZ-CC2C5-5O6IA-IU5VM-KJGAF-IKBRO 并替换为新Key。
验证配置
配置完成后,可以通过以下方式验证:
1. 浏览器测试
在浏览器中访问:
https://apis.map.qq.com/ws/geocoder/v1/?location=31.230416,121.473701&key=你的Key&get_poi=0
成功响应示例:
{
"status": 0,
"message": "query ok",
"result": {
"address": "上海市黄浦区南京东路",
"address_component": {
"province": "上海市",
"city": "上海市",
"district": "黄浦区",
"street": "南京东路"
}
}
}
失败响应示例:
{
"status": 199,
"message": "此key未开启WebserviceAPI功能"
}
2. 小程序测试
- 重新编译小程序
- 进入签到页面
- 查看控制台日志
- 应该看到:
✅ 地址解析成功: 安徽省合肥市蜀山区xxx
常见问题
Q1: 为什么我的Key无法开启WebService?
A: 可能是以下原因:
- Key类型不支持(需要是"微信小程序"类型)
- 账号权限不足
- 需要实名认证
解决: 创建一个新的Key,选择正确的应用类型。
Q2: 开启后还是报错?
A: 可能需要等待1-2分钟生效,或者:
- 清除小程序缓存
- 重新编译小程序
- 检查域名白名单配置
Q3: 有配额限制吗?
A: 腾讯地图API有免费配额:
- 个人开发者:10,000次/天
- 企业开发者:100,000次/天
如果超出配额,需要购买套餐或申请提额。
微信小程序域名配置
别忘了在微信小程序后台配置域名白名单:
路径: 微信公众平台 → 开发 → 开发管理 → 开发设置 → 服务器域名
添加:
request合法域名:https://apis.map.qq.com
相关链接
- 腾讯地图开放平台:https://lbs.qq.com/
- 控制台:https://lbs.qq.com/console/mykey.html
- WebService API文档:https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder
- 逆地理编码文档:https://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder
创建时间: 2026-01-26 问题: 此key未开启WebserviceAPI功能 解决: 在腾讯地图控制台开启WebService API权限