Skip to main content

tencent-lbs-webservice

腾讯位置服务 WebService API 开发技能。当开发者需要通过 HTTP 接口集成地理编码、地点搜索、路线规划、天气查询、IP 定位等位置服务时,此技能提供完整的 API 调用指导。适用场景:(1) 地址与坐标互转 (2) 地点搜索与周边 POI 查询 (3) 关键词输入提示与自动补全 (4) 沿途搜索 (5) 路线规划(驾车/步行/骑行/电动车/公交)(6) 距离矩阵与批量距离计算 (7) IP 定位 (8) 天气查询 (9) 智能地址解析 (10) 坐标系转换 (11) 行政区划查询。不包含地图渲染和前端可视化,仅提供 HTTP JSON 数据接口。当用户提到地理编码、地址转坐标、逆地址解析、POI 搜索、路线规划、距离矩阵、批量距离、天气查询、IP 定位、坐标转换、行政区划、输入提示、自动补全、WebService API 时触发。

ソース情報

リポジトリ
Tencent/tencentmap-webservice-skill
ソースの最終更新活動
2026年3月30日 10:54
検出された SKILL.md の言語
中国語
スター
1
フォーク
1

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
tencent-lbs-webservice
version
1.0.0
description
腾讯位置服务 WebService API 开发技能。当开发者需要通过 HTTP 接口集成地理编码、地点搜索、路线规划、天气查询、IP 定位等位置服务时,此技能提供完整的 API 调用指导。适用场景:(1) 地址与坐标互转 (2) 地点搜索与周边 POI 查询 (3) 关键词输入提示与自动补全 (4) 沿途搜索 (5) 路线规划(驾车/步行/骑行/电动车/公交)(6) 距离矩阵与批量距离计算 (7) IP 定位 (8) 天气查询 (9) 智能地址解析 (10) 坐标系转换 (11) 行政区划查询。不包含地图渲染和前端可视化,仅提供 HTTP JSON 数据接口。当用户提到地理编码、地址转坐标、逆地址解析、POI 搜索、路线规划、距离矩阵、批量距离、天气查询、IP 定位、坐标转换、行政区划、输入提示、自动补全、WebService API 时触发。
# 腾讯位置服务 WebService API 腾讯位置服务 WebService API 是基于 HTTPS/HTTP 协议的数据接口,支持任何编程语言通过 HTTP 请求调用。 ## 基本信息 - **Base URL**: `https://apis.map.qq.com` - **请求方式**: GET - **返回格式**: JSON - **Key 获取**: https://lbs.qq.com/dev/console/key/manage ## 关键注意事项 - **坐标格式**: 统一使用 `纬度,经度` 顺序(不是经度,纬度) - **坐标系**: GCJ-02(国测局坐标系),GPS 原始坐标需先转换 - **Key 参数**: 所有接口都需要 `key` 参数 - **配额限制**: 每个 Key 有免费额度和 QPS 限制 ## 触发条件 当用户表达以下任一意图时触发: - 将地址转为坐标,或将坐标转为地址 - 搜索地点、POI、周边商家 - 使用关键词输入提示或自动补全 - 规划路线(驾车、步行、骑行、电动车、公交等) - 批量计算距离或生成距离矩阵 - 查询天气信息 - 根据 IP 获取位置 - 从非结构化文本提取地址 - 在不同坐标系之间互转 - 查询行政区划信息 - 包含"地理编码"、"搜索"、"路线"、"天气"、"定位"、"坐标"、"距离矩阵"等关键词 ## 前置检查:API Key **在需要实际调用 API 时(而非仅咨询能力、了解功能),必须先检查 Key:** 1. 如果用户只是询问"有哪些功能"、"支持什么 API"、"能做什么"等咨询类问题,**直接回答,不要求配置 Key** 2. 当用户请求需要**实际发起 API 调用**时(如"查天安门坐标"、"规划路线"),先检查是否已有 Key(环境变量 `TMAP_WEBSERVICE_KEY` 或对话中给出) 3. 如果需要调用但 **未检测到 Key**,提示用户: > ⚠️ 执行这个操作需要腾讯位置服务 API Key。请按以下步骤配置: > > 1. 前往 [Key 管理控制台](https://lbs.qq.com/dev/console/key/manage) 注册并创建 Key > 2. 为 Key 开启 **WebService** 功能 > 3. 通过以下任一方式提供 Key: > - **推荐**:设置环境变量 `TMAP_WEBSERVICE_KEY=你的Key` > - 或在对话中直接告诉我你的 Key > > 获取 Key 后告诉我,我们继续。 4. 确认 Key 存在后,再构造并发起 API 请求 --- ## 场景判断 收到用户请求后,先判断属于哪个场景: | 场景 | 用户意图 | 参考文档 | |------|----------|----------| | **地址服务** | 地址↔坐标互转、智能地址解析 | `references/api-geocoder.md` | | **搜索服务** | 地点搜索、周边 POI、沿途搜索、输入提示、行政区划 | `references/api-search.md` | | **路线服务** | 驾车/步行/骑行/公交路线规划、距离矩阵 | `references/api-direction.md` | | **定位与天气** | IP 定位、天气查询 | `references/api-location-weather.md` | | **坐标转换** | 其他坐标系转入腾讯地图坐标系 | `references/api-tools.md` | ### 组合场景处理 如果用户请求包含多个场景,按以下优先级串联调用: 1. **先解决坐标获取**:地址解析 / IP 定位 / 坐标转换 — 确保后续操作有可用坐标 2. **再执行目标操作**:搜索 / 路线规划 / 天气查询 — 使用第一步获取的坐标 3. **最后处理后续操作**:沿途搜索依赖路线结果的 polyline,距离矩阵依赖坐标集合 ## 场景一:地址服务 提供地址解析(地址→坐标)、逆地址解析(坐标→地址)、智能地址解析(非结构化文本→结构化地址)三种能力。 - **地址解析**: `GET /ws/geocoder/v1/` — 传入 `address` 参数,建议加 `region` 提高准确性 - **逆地址解析**: `GET /ws/geocoder/v1/` — 传入 `location` 参数(纬度,经度),可用 `get_poi=1` 返回周边 POI - **智能地址解析**: `GET /ws/geocoder/v1/` — 使用 `smart_address` 参数(非 address),从快递单、聊天记录等文本提取地址和联系人信息。需企业认证开通 > 📖 详细参数、响应格式和示例见 [references/api-geocoder.md](references/api-geocoder.md) ## 场景二:搜索服务 提供地点搜索、沿途搜索、关键词输入提示、行政区划查询四种能力。 - **地点搜索**: `GET /ws/place/v1/search` — 支持 `nearby()`/`region()`/`rectangle()` 边界格式(多边形搜索为独立接口 `/ws/place/v1/search_by_polygon`) - **沿途搜索**: `GET /ws/place/v1/search` — 使用 `boundary=along(polyline, distance)`,需先获取路线 polyline - **关键词提示**: `GET /ws/place/v1/suggestion` — 搜索框自动补全 - **行政区划**: 三个子接口 — `GET /ws/district/v1/list`(全部列表)、`/getchildren`(下级区划)、`/search`(关键词搜索) > 📖 详细参数、响应格式和示例见 [references/api-search.md](references/api-search.md) ## 场景三:路线服务 提供路线规划和批量距离计算能力。 | 出行方式 | 端点 | |----------|------| | 驾车 | `GET /ws/direction/v1/driving/` | | 步行 | `GET /ws/direction/v1/walking/` | | 骑行 | `GET /ws/direction/v1/bicycling/` | | 电动车 | `GET /ws/direction/v1/ebicycling/` | | 公交 | `GET /ws/direction/v1/transit/` | | 距离矩阵 | `GET /ws/distance/v1/matrix` | - 所有路线接口需要 `from`(起点)和 `to`(终点),格式 `纬度,经度` - 驾车支持 `waypoints`(途经点)和 `policy`(策略: LEAST_TIME/PICKUP/TRIP + 偏好: REAL_TRAFFIC/LEAST_FEE/AVOID_HIGHWAY/HIGHWAY_FIRST 等,逗号分隔) - 驾车 `duration` 单位为**分钟**,距离矩阵 `duration` 单位为**秒** - 距离矩阵支持 `mode`(driving/walking/bicycling) > 📖 详细参数、响应格式和示例见 [references/api-direction.md](references/api-direction.md) ## 场景四:定位与天气 提供 IP 定位和天气查询能力。 - **IP 定位**: `GET /ws/location/v1/ip` — 精度到城市级 - **天气查询**: `GET /ws/weather/v1/` — 支持 `adcode` 或 `location` 查询,`type` 参数选 `now`(实况)/`future`(预报)/`hours`(逐小时),通过 `added_fields` 附加 alarm/index/air(逗号分隔) > 📖 详细参数、响应格式和示例见 [references/api-location-weather.md](references/api-location-weather.md) ## 场景五:坐标转换 `GET /ws/coord/v1/translate` — 将 GPS/百度/搜狗/MapBar 坐标转为腾讯地图坐标系(GCJ-02)。**仅支持单向转入**,不支持反向转出。 > 📖 详细参数和示例见 [references/api-tools.md](references/api-tools.md) ## 错误处理 所有接口返回 JSON 中的 `status` 字段表示业务状态码。完整错误码参考:https://lbs.qq.com/service/webService/webServiceGuide/status ### 常见错误码 | 状态码 | 含义 | 处理建议 | |--------|------|----------| | `0` | 成功 | — | | `110` | 请求来源未被授权 | 检查 Key 的域名白名单或 IP 白名单配置 | | `111` | 签名验证失败 | 检查签名算法和 Secret Key | | `112` | IP 未被授权 | 在控制台添加服务器 IP 白名单 | | `113` | 此功能未被授权 | 在控制台开通对应 API 权限 | | `120` | QPS 限制(每秒请求量达上限) | 等待 1-2 秒后重试,或合并请求 | | `121` | 日调用量达上限 | 升级配额或更换 Key | | `190` | 无效的 Key | 确认 Key 是否已被删除或禁用 | | `199` | 此 Key 未开启 WebService 功能 | 在控制台为 Key 启用 WebService | ### 参数错误 | 状态码 | 含义 | 处理建议 | |--------|------|----------| | `300` | 缺少必要字段 | 检查必填参数是否齐全 | | `301` | 缺少 key 参数 | 添加 `key` 参数 | | `306` | 缺少参数 | 检查接口所需的必填参数 | | `310` | 参数格式错误 | 检查参数类型和格式(如坐标格式) | | `311` | Key 格式错误 | 检查 Key 是否正确 | | `320` | 参数数据类型错误 | 检查参数值类型 | | `326` | 起终点距离过近 | 起终点坐标相同或过近 | | `332` | 途经点个数超过限制 | 驾车途经点最多 10 个 | | `333` | 存在无法吸附的坐标点 | 检查坐标是否在可通行道路附近 | | `347` | 查询无结果 | 尝试放宽搜索条件或更换关键词 | | `365` | 纬度不能超过 ±90 | 检查坐标值范围 | | `366` | 经度不能超过 ±180 | 检查坐标值范围 | | `373` | 起终点距离超长 | 减小起终点距离 | | `375` | 局域网 IP 无法定位 | IP 定位仅支持公网 IP | | `396` | 距离矩阵坐标点超限 | 最多 200 个坐标点,起终点数乘积最多 625 | ### 系统错误 | 状态码 | 含义 | 处理建议 | |--------|------|----------| | `500` | 后端超时 | 稍后重试 | | `510` | 后端服务无法连接 | 稍后重试 | | `520` | 后端服务请求失败 | 稍后重试 | | `530` | 后端返回数据解析失败 | 稍后重试,若持续出现则联系客服 | ## 最佳实践 1. **地址解析指定 `region`** — 提高准确性,避免跨城市歧义 ``` # ✅ 指定城市 GET /ws/geocoder/v1/?address=中关村大街1号&region=北京&key=YOUR_KEY # ❌ 不指定城市,可能匹配到其他城市的同名地址 GET /ws/geocoder/v1/?address=中关村大街1号&key=YOUR_KEY ``` 2. **逆地址解析选择合适的 `policy`** — 根据业务场景获取最相关的地址描述 ``` # 到家场景(精确到楼栋) GET /ws/geocoder/v1/?location=39.984154,116.307490&get_poi=1&poi_options=policy=2&key=YOUR_KEY # 出行场景(过滤不易到达 POI) GET /ws/geocoder/v1/?location=39.984154,116.307490&get_poi=1&poi_options=policy=3&key=YOUR_KEY ``` 3. **搜索使用 `boundary` 限制范围** — 提高搜索精准度和效率 4. **批量距离计算用距离矩阵替代循环调用** — 显著减少请求次数 ```python # ❌ 错误:循环调用路线接口,N*M 次请求 for origin in origins: for dest in destinations: call_direction_api(origin, dest) # ✅ 正确:一次距离矩阵请求 call_distance_matrix(from=";".join(origins), to=";".join(destinations), mode="driving") ``` 5. **GPS 坐标需先转换** — 通过坐标转换接口转为 GCJ-02 后再调用其他接口 ``` # 先转换坐标 GET /ws/coord/v1/translate?locations=39.984154,116.307490&type=1&key=YOUR_KEY # 再用转换后的坐标调用搜索/路线等接口 ``` 6. **天气查询优先用经纬度** — 可精确到区县级,比 adcode 更灵活 7. **沿途搜索需先规划路线** — 先获取 polyline,再搜索 POI,不能跳过路线规划步骤 ## 文档引用 | 文件 | 说明 | |------|------| | [references/api-geocoder.md](references/api-geocoder.md) | 地址解析、逆地址解析、智能地址解析 | | [references/api-search.md](references/api-search.md) | 地点搜索、沿途搜索、关键词提示、行政区划 | | [references/api-direction.md](references/api-direction.md) | 路线规划(驾车/步行/骑行/公交)、距离矩阵 | | [references/api-location-weather.md](references/api-location-weather.md) | IP 定位、天气查询 | | [references/api-tools.md](references/api-tools.md) | 坐标转换、公共错误码 | ## 相关链接 - [官方文档](https://lbs.qq.com/service/webService/webServiceGuide/webServiceOverview) - [Key 管理](https://lbs.qq.com/dev/console/key/manage) - [配额说明](https://lbs.qq.com/dev/console/quotaImprove) - [状态码说明](https://lbs.qq.com/service/webService/webServiceGuide/status)
GitHubで見る