核心用法
本 Skill 提供零依赖 Python CLI 工具(scripts/qqmap.py),仅需 Python 标准库即可调用腾讯位置服务 WebService API。核心命令包括:
- 地理编码/逆地理编码:地址与坐标互转(
geocode/regeo) - POI 搜索:关键词搜索(
search)与输入联想(suggestion) - 路线规划:驾车/步行路径计算(
driving/walking) - IP 定位:基于 IP 获取大致位置(
ip) - 通用兜底:
call命令支持调用任意 /ws/ 接口
微信小程序 LBS 核心场景
腾讯地图是微信官方推荐的小程序地图解决方案,关键集成要点:
1. 域名白名单:必须将 https://apis.map.qq.com 加入小程序后台 request 合法域名
2. 官方 SDK:qqmap-wx-jssdk 封装了同款 WebService 接口
3. 隐私合规:wx.getLocation 需在 app.json 声明 requiredPrivateInfos 并配置隐私协议
4. 坐标系优势:与小程序 map 组件同为 GCJ-02,无需转换
⚠️ 关键陷阱:坐标顺序
腾讯地图使用 `纬度,经度`(lat,lng),与高德地图 经度,纬度(lng,lat)相反。跨平台迁移时此错误会导致坐标偏移数千公里。
显著优点
| 维度 | 优势 |
|------|------|
| **生态契合** | 微信官方推荐,小程序 map 组件原生支持 |
| **零依赖工具** | 单文件 Python 脚本,标准库即可运行 |
| **坐标系一致** | GCJ-02 与小程序无缝配合,避免转换误差 |
| **免费额度** | 各接口独立日配额,次日自动重置 |
| **调试友好** | 开发者工具不校验域名,便于本地开发 |
潜在缺点与局限性
1. 配额限制:免费版各接口日配额独立,高并发场景需付费升级
2. 签名复杂度:启用 SK(Secret Key)后需手动计算 MD5 签名,本脚本未内置
3. 生态局限:主要优势在微信小程序,其他平台(车机、导航 APP)推荐高德
4. 功能边界:仅覆盖 WebService API,不含 JavaScript API GL 前端渲染细节
5. 审核风险:隐私协议配置不当直接导致审核被拒
适合人群
- 微信小程序开发者:需要集成地图、定位、POI 搜索功能
- 全栈工程师:需要快速验证地理编码/路线规划逻辑
- 跨平台迁移开发者:需特别注意坐标顺序差异
- 轻量级工具使用者:偏好零依赖、单文件可运行的 CLI 方案
常规风险
| 风险类型 | 说明 | 应对建议 |
|---------|------|---------|
| **域名配置遗漏** | 真机环境 request 失败 | 上线前务必检查小程序后台域名白名单 |
| **坐标顺序错误** | lat,lng vs lng,lat 混淆 | 跨平台开发时建立强制检查机制 |
| **配额耗尽** | 日配额超限返回 120x 错误 | 监控用量,关键业务预留升级方案 |
| **签名配置冲突** | 控制台开 SK 但请求未签名 | 开发期关闭 SK,生产期完整实现签名 |
| **隐私合规** | 未声明 `requiredPrivateInfos` | 严格遵循微信最新审核规范 |
竞品定位
| 场景 | 推荐方案 |
|------|---------|
| 微信小程序 | **腾讯地图(本 skill)** |
| 导航/车机/高德生态 | 高德地图(`gaode` skill) |
| 百度系集成/全景服务 | 百度地图(`baidu-map` skill) |
腾讯与高德同为 GCJ-02 坐标系,可直接互用;百度为 BD-09,需转换。