Route Planning - 路线规划
Overview
从 A 地点到 B 地点,给出驾车、公交、步行、骑行多种到达方案,包含距离、耗时和分步路线指引。基于腾讯地图 API 实现,仅依赖 Python 标准库。
Prerequisites
API Key
使用本 Skill 需要腾讯地图 API Key。如用户尚未提供,按以下步骤引导获取:
- 访问 https://lbs.qq.com/
- 注册/登录账号
- 创建应用,获取 Key,确保开启 WebService API 权限
- 将 Key 传入脚本的
--key参数
> 免费 Key 每日可调用 10000 次,个人使用足够。
Usage
标准调用
python <skill_dir>/scripts/route_plan.py \
--from "起点地址" \
--to "终点地址" \
--key "YOUR_API_KEY" \
--city "所在城市"
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
| --from | 是 | 起点地址(如"北京西站") |
| --to | 是 | 终点地址(如"天安门") |
| --key | 是 | 腾讯地图 API Key |
| --city | 否 | 所在城市,公交查询必需(默认"北京") |
| --modes | 否 | 出行方式:all/driving/transit/walking/bicycling(默认 all) |
| --format | 否 | 输出格式:text/json(默认 text) |
| --output | 否 | 输出文件路径(不指定则打印到控制台) |
调用示例
# 全部出行方式(驾车+公交+步行+骑行)
python scripts/route_plan.py --from "北京西站" --to "天安门" --key YOUR_KEY
# 仅查询驾车路线
python scripts/route_plan.py --from "上海虹桥" --to "外滩" --key YOUR_KEY --city 上海 --modes driving
# JSON 格式输出(便于程序化处理)
python scripts/route_plan.py --from "广州塔" --to "白云机场" --key YOUR_KEY --city 广州 --format json
# 保存结果到文件
python scripts/route_plan.py --from "深圳北站" --to "世界之窗" --key YOUR_KEY --city 深圳 --output route.txt
输出说明
文本格式输出包含:
- 起终点地址与坐标
- 按耗时从短到长排序的所有方案
- 每个方案标注:出行方式、距离(公里)、耗时、前 8 步路线指引
JSON 格式输出包含:
- from:起点信息(地址 + 坐标)
- to:终点信息(地址 + 坐标)
- routes[]:路线方案数组,每个方案含 mode/icon/distance_km/duration_min/steps
注意事项
- 公交查询必须指定
--city参数,否则会返回错误 - 骑行/步行适合短距离(< 10 公里),长距离时 API 可能不返回结果
- API Key 的免费额度为每日 10000 次,注意不要频繁重复查询
- 脚本仅使用 Python 标准库(urllib),无需安装第三方依赖
Workflow
- 确认用户的起点和终点地址(如不明确,向用户询问)
- 确认所在城市(公交查询需要,默认"北京")
- 确认 API Key(如用户未提供,引导获取)
- 执行
scripts/route_plan.py脚本 - 将结果整理后呈现给用户,可按需用 show_widget 生成路线可视化
API Reference
详细的 API 接口文档见 references/tencent_map_api.md,包含端点、参数、返回格式和错误码说明。