Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bighardperson avatar

Tencentmap Webservice Skill

  • 9 installs
  • 33 repo stars
  • Updated April 26, 2026
  • bighardperson/computer-science-skills-collection

Tencent Map WebService is a Claude Code skill for calling the Tencent Maps WebService HTTP API for geocoding, search, routing, distance matrix, IP location, weather, and coordinate conversion.

About

Tencent Map WebService is a Claude Code skill for integrating Tencent Maps location services over their HTTP WebService API. It covers geocoding, POI and along-route search, input suggestions, driving/walking/cycling/transit routing, distance matrix, IP location, weather, coordinate conversion, and administrative-district queries, returning JSON with no map rendering. A developer uses it to add server-side location features to an app.

  • Guides calling the Tencent Maps WebService HTTP API for geocoding, search, routing, weather, and IP location
  • HTTP JSON data interface only, no map rendering
  • Covers coordinate conversion, distance matrix, and administrative-district queries

Tencentmap Webservice Skill by the numbers

  • 9 all-time installs (skills.sh)
  • Ranked #3,593 of 4,348 Backend & APIs skills by installs in the Skillselion catalog
  • Data as of Jul 30, 2026 (Skillselion catalog sync)
At a glance

tencentmap-webservice-skill capabilities & compatibility

Free skill; requires a Tencent Maps key with a free quota and QPS limits, or a limited experience key

Capabilities
api development · web search
Use cases
api development · web search
Pricing
Bring your own API key
Requires keys
TMAP_WEBSERVICE_KEY
From the docs

What tencentmap-webservice-skill says it does

腾讯位置服务 WebService API 是基于 HTTPS/HTTP 协议的数据接口,支持任何编程语言通过 HTTP 请求调用。
SKILL.md
不包含地图渲染和前端可视化,仅提供 HTTP JSON 数据接口。
SKILL.md
**坐标格式**: 统一使用 `纬度,经度` 顺序(不是经度,纬度)
SKILL.md
npx skills add https://github.com/bighardperson/computer-science-skills-collection --skill tencentmap-webservice-skill

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs9
repo stars33
Last updatedApril 26, 2026
Repositorybighardperson/computer-science-skills-collection

What it does

Integrate Tencent Maps geocoding, search, routing, weather, and IP location over their HTTP WebService API.

Who is it for?

Adding server-side Tencent Maps location features (geocoding, routing, weather, IP location) via HTTP JSON.

Skip if: Rendering maps or front-end visualization; it explicitly excludes map rendering.

When should I use this skill?

You need address-coordinate conversion, POI search, routing, distance matrix, IP location, or weather over HTTP.

What you get

Working HTTP calls returning JSON for geocoding, search, routing, distance, IP location, weather, and district data.

By the numbers

  • 11 supported location-service scenarios
  • 5 scenario groups (address, search, routing, location/weather, coordinate conversion)

Files

SKILL.mdMarkdownGitHub ↗

腾讯位置服务 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

检查步骤

1. 检查是否已有正式 Key(环境变量 TMAP_WEBSERVICE_KEY 或对话中用户已提供)

2. 情况 A:已检测到正式 Key

静默记录 Key,直接按用户原始意图继续处理,无需任何提示或打断

3. 情况 B:未检测到正式 Key

强制拦截(最高优先级)

>

未检测到正式 Key 时,在用户明确完成选择之前,禁止执行以下任何操作:

>

- 分析用户需求
- 读取任何文件或文档
- 规划实现方案
- 编写任何代码
- 调用任何 API

>

第一步且唯一的步骤是:立即输出下方选择提示,然后停止,等待用户回应。

输出以下内容,然后停止,等待用户选择

⚠️ 您当前尚未配置正式 Key,请先选择您的使用方式:

>

推荐:前往官网注册申请正式 Key,享受完整、稳定的服务
👉 https://lbs.qq.com/dev/console/key/manage
注册后可通过环境变量 TMAP_WEBSERVICE_KEY=你的Key 或对话中告知我来配置。

>

---

>

或者,您也可以选择使用腾讯位置服务平台提供的预设体验 Key(免注册,直接使用)。
请注意腾讯位置服务体验 Key 的限制:

>

- 访问频次上限:调用频次受限,超出后触发限流
- 数据稳定性一般,不建议用于生产环境
- 天气查询、电动车路线等接口不可用

>

请告诉我您的选择:

>

- 回复"我已有 Key"或直接提供 Key → 切换正式模式
- 回复"使用体验 Key" → 以腾讯位置服务受限模式继续

收到用户明确回复后,再按用户选择继续:

  • 用户提供正式 Key → 记录 Key,切换正式模式,继续处理请求
  • 用户选择体验 Key → 切换体验模式,继续处理请求(见下方"体验模式调用规则")

体验模式调用规则

判断原则:只有"不需要透传用户 Key"的接口才可以走体验模式。 需要透传用户 Key 的接口,体验模式无法支持,须要求用户配置正式 Key 后再调用。

调用体验模式接口时,按以下规则替换请求参数:

  • 域名:将 https://apis.map.qq.com 替换为 https://h5gw.map.qq.com
  • Key 参数:设置 key=none
  • apptag 参数:根据接口路径查下方对照表,填入对应 apptag 值
⚠️ 体验模式存在 CORS 跨域限制

>

h5gw.map.qq.com 不允许浏览器端直接 fetch(包括 localhost 开发环境)。
体验模式必须使用 JSONP 方式调用,在请求中附加 output=jsonp&callback=函数名 参数,通过动态插入 <script> 标签发起请求。腾讯位置服务 WebService API 原生支持 JSONP 回调。

>

```javascript
// ✅ 体验模式:JSONP 方式(浏览器端可用)
function jsonpRequest(url, params, callback) {
const cbName = 'tmap_cb_' + Date.now();
params.output = 'jsonp';
params.callback = cbName;
const query = Object.entries(params)
.map(([k, v]) => ${k}=${encodeURIComponent(v)})
.join('&');
window[cbName] = (data) => {
delete window[cbName];
script.remove();
callback(data);
};
const script = document.createElement('script');
script.src = ${url}?${query};
document.head.appendChild(script);
}

>

// 示例:体验模式 IP 定位
jsonpRequest(
'https://h5gw.map.qq.com/ws/location/v1/ip',
{
key: 'none',
apptag: 'lbslocation_ip',
},
(res) => console.log(res)
);
```

>

不建议在正式 Key 模式下使用 JSONP:JSONP 会将 Key 明文暴露在前端代码中,存在 Key 泄露风险。正式 Key 应通过服务端代理转发请求,避免在浏览器端直接调用。

apptag 对照表:

*官网工具类接口(lbs\)**

接口路径apptag
/ws/place/v1/searchlbsplace_search
/ws/place/v1/explorelbsplace_explore
/ws/place/v1/detaillbsplace_detail
/ws/place/v1/suggestionlbsplace_sug
/ws/geocoder/v1lbs_geocoder
/ws/location/v1/iplbslocation_ip
/ws/coord/v1/translatelbscoord_translate
/ws/district/v1/getchildrenlbsdistrict_getchildren
/ws/district/v1/searchlbsdistrict_search
/ws/district/v1/listlbsdistrict_list
/ws/direction/v1/drivinglbsdirection_driving
/ws/direction/v1/transitlbsdirection_transit
/ws/direction/v1/bicyclinglbsdirection_bicycling
/ws/direction/v1/walkinglbsdirection_walking
/ws/distance/v1/matrixlbsdistance_matrix

体验模式不可用的接口(这些接口需要透传用户自己的 Key,体验模式无法支持):

  • /ws/weather/v1/(天气查询)
  • /ws/direction/v1/ebicycling/(电动车路线)

当用户在体验模式下请求以上不可用接口时,回复以下内容并停止,等待用户选择:

⚠️ 您当前请求的「[接口名称]」功能在体验模式下不可用,需要配置正式 Key 才能调用。
请前往官网申请正式 Key → https://lbs.qq.com/dev/console/key/manage
申请后告知我您的 Key,即可切换正式模式继续使用。

每次 API 调用返回结果后,必须在回复末尾追加以下提醒(每次都要加,不可省略):

📌 温馨提示:当前使用的是腾讯位置服务预设体验 Key,数据稳定性和调用频次均受限。建议尽快申请腾讯位置服务正式 Key → https://lbs.qq.com/dev/console/key/manage

---

场景判断

收到用户请求后,先判断属于哪个场景:

场景用户意图参考文档
地址服务地址 ↔ 坐标互转、智能地址解析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

场景二:搜索服务

提供地点搜索、沿途搜索、关键词输入提示、行政区划查询四种能力。

  • 地点搜索: 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

场景三:路线服务

提供路线规划和批量距离计算能力。

出行方式端点
驾车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

场景四:定位与天气

提供 IP 定位和天气查询能力。

  • IP 定位: GET /ws/location/v1/ip — 精度到城市级
  • 天气查询: GET /ws/weather/v1/ — 支持 adcodelocation 查询,type 参数选 now(实况)/future(预报)/hours(逐小时),通过 added_fields 附加 alarm/index/air(逗号分隔)
📖 详细参数、响应格式和示例见 references/api-location-weather.md

场景五:坐标转换

GET /ws/coord/v1/translate — 将 GPS/百度/搜狗/MapBar 坐标转为腾讯地图坐标系(GCJ-02)。仅支持单向转入,不支持反向转出。

📖 详细参数和示例见 references/api-tools.md

错误处理

所有接口返回 JSON 中的 status 字段表示业务状态码。完整错误码参考:https://lbs.qq.com/service/webService/webServiceGuide/status

常见错误码

状态码含义处理建议
0成功
110请求来源未被授权检查 Key 的域名白名单或 IP 白名单配置
111签名验证失败检查签名算法和 Secret Key
112IP 未被授权在控制台添加服务器 IP 白名单
113此功能未被授权在控制台开通对应 API 权限
120QPS 限制(每秒请求量达上限)等待 1-2 秒后重试,或合并请求
121日调用量达上限升级配额或更换 Key
190无效的 Key确认 Key 是否已被删除或禁用
199此 Key 未开启 WebService 功能在控制台为 Key 启用 WebService

参数错误

状态码含义处理建议
300缺少必要字段检查必填参数是否齐全
301缺少 key 参数添加 key 参数
306缺少参数检查接口所需的必填参数
310参数格式错误检查参数类型和格式(如坐标格式)
311Key 格式错误检查 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. 批量距离计算用距离矩阵替代循环调用 — 显著减少请求次数

   # ❌ 错误:循环调用路线接口,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-search.md地点搜索、沿途搜索、关键词提示、行政区划
references/api-direction.md路线规划(驾车/步行/骑行/公交)、距离矩阵
references/api-location-weather.mdIP 定位、天气查询
references/api-tools.md坐标转换、公共错误码

相关链接

Related skills

FAQ

Does it render maps?

No. It provides only HTTP JSON data interfaces; map rendering and front-end visualization are out of scope.

What coordinate format does it use?

Latitude,longitude order in the GCJ-02 coordinate system; GPS coordinates must be converted first.

Backend & APIsbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.