## 场景三：路径规划

使用 `tmap-lbs route` 命令规划不同出行方式的路线。支持步行、驾车、骑行（自行车）、电动车、公交等多种出行方式。

**前置条件：** 需要配置腾讯位置服务 API Key。

### 检查 API Key

- 如果用户之前未提供过 Key，**先提示用户配置腾讯地图 API Key**，等待用户回复后再继续
- 如果用户已提供 Key，直接使用

**请求 Key 的回复模板：**

```
🔑 路径规划需要使用腾讯地图 API

（如果还没有 Key，可以在 https://lbs.qq.com 注册并创建应用获取）
```

### 命令格式

```bash
tmap-lbs route --mode <出行方式> --origin <起点坐标> --destination <终点坐标> [options]
```

### 出行方式

| 出行方式       | `--mode` 值 |
| -------------- | ----------- |
| 步行           | `walk`      |
| 驾车           | `drive`     |
| 骑行（自行车） | `cycle`     |
| 电动车         | `ecycle`    |
| 公交           | `transit`   |

### 通用参数

| 参数            | 说明                 | 必填 | 示例                   |
| --------------- | -------------------- | ---- | ---------------------- |
| `--origin`      | 起点坐标 "经度,纬度" | 是   | `116.397428,39.90923`  |
| `--destination` | 终点坐标 "经度,纬度" | 是   | `116.427281,39.903719` |
| `--mode`        | 出行方式             | 否   | `walk`（默认）         |
| `--raw`         | 输出完整 JSON        | 否   | -                      |

**坐标格式：** 参数使用 `经度,纬度` 格式（经度在前），工具内部会自动转换为腾讯地图所需的 `纬度,经度` 格式。

### 使用示例

**步行路线：**

```bash
tmap-lbs route --mode walk --origin 116.397428,39.90923 --destination 116.427281,39.903719
```

**驾车路线：**

```bash
tmap-lbs route --mode drive --origin 116.397428,39.90923 --destination 116.427281,39.903719
```

**驾车路线（带途经点和策略）：**

```bash
tmap-lbs route --mode drive --origin 116.397428,39.90923 --destination 116.427281,39.903719 \
  --waypoints "116.410000,39.910000" --policy LEAST_TIME
```

**骑行路线（自行车）：**

```bash
tmap-lbs route --mode cycle --origin 116.397428,39.90923 --destination 116.427281,39.903719
```

**电动车路线：**

```bash
tmap-lbs route --mode ecycle --origin 116.397428,39.90923 --destination 116.427281,39.903719
```

**公交路线：**

```bash
tmap-lbs route --mode transit --origin 116.397428,39.90923 --destination 116.427281,39.903719
```

**公交路线（带策略）：**

```bash
tmap-lbs route --mode transit --origin 116.397428,39.90923 --destination 116.427281,39.903719 --policy LEAST_TRANSFER
```

### 驾车专有参数

| 参数             | 说明                                    | 示例                        |
| ---------------- | --------------------------------------- | --------------------------- |
| `--waypoints`    | 途经点坐标 "经度,纬度"，多个用 `;` 分隔 | `116.41,39.91;116.42,39.92` |
| `--policy`       | 驾车策略                                | `LEAST_TIME`                |
| `--plate-number` | 车牌号，用于避开限行                    | `京A12345`                  |

**驾车策略（policy）：**

- `LEAST_TIME` — 时间最短（默认）
- `LEAST_FEE` — 少收费
- `AVOID_HIGHWAY` — 不走高速
- `HIGHWAY_FIRST` — 高速优先

### 公交专有参数

| 参数               | 说明                    | 示例         |
| ------------------ | ----------------------- | ------------ |
| `--policy`         | 公交策略                | `LEAST_TIME` |
| `--departure-time` | 出发时间（Unix 时间戳） | `1700000000` |

**公交策略（policy）：**

- `LEAST_TIME` — 时间短（默认）
- `LEAST_TRANSFER` — 少换乘
- `LEAST_WALKING` — 少步行
- `RECOMMEND` — 推荐策略

### 输出说明

默认输出格式化文本摘要：

```
✅ 步行路线规划完成:
   距离: 3200m
   耗时: 40 分钟
   共 12 个导航步骤
```

使用 `--raw` 输出完整 JSON，包含详细步骤数据。

### 错误处理

- 如果 Key 未设置，会提示配置命令
- 常见错误：Key 无效、配额不足、坐标格式错误、起终点太近或太远
