API 文档 / 路径规划 / 公交路径规划
公交路径规划
接口说明
公交路径规划
输入示例:起点:116.481028,39.989643;终点:116.434446,39.90816;城市:北京
返回示例:返回公交或地铁换乘方案,包括线路、站点、步行段、距离和预计耗时。
请求地址
GEThttps://cloud.dtbgis.com/api/v1/route/transit
鉴权方式
在 HTTP Header 中携带你的 API Key:
X-API-Key: 你的API-Key
每个 API Key 绑定已购接口与流量豆,调用成功扣减对应流量豆;调用失败(参数错误等)不扣流量豆。未开通该接口返回 403,流量豆不足返回 429。
请求参数
| 参数 | 必填 | 说明 | 示例 / 默认值 |
|---|---|---|---|
origin |
必填 | 起点坐标,格式 lon,lat | 116.481028,39.989643 |
destination |
必填 | 终点坐标,格式 lon,lat | 116.434446,39.90816 |
city |
必填 | 城市名称或 citycode | 北京 |
cityd |
可选 | 跨城公交时的终点城市 | — |
extensions |
可选 |
返回结果详略
可选值:
base base、all all |
base |
strategy |
可选 |
换乘策略 0-5
可选值:
0 0-最快、1 1-最省、2 2-少换乘、3 3-少步行、5 5-不坐地铁 |
0 |
nightflag |
可选 |
是否计算夜班车
可选值:
0 不计算、1 计算 |
0 |
请求示例
curl -H "X-API-Key: 你的API-Key" \ "https://cloud.dtbgis.com/api/v1/route/transit?origin=116.481028%2C39.989643&destination=116.434446%2C39.90816&city=%E5%8C%97%E4%BA%AC"
import requests
resp = requests.get(
"https://cloud.dtbgis.com/api/v1/route/transit?origin=116.481028%2C39.989643&destination=116.434446%2C39.90816&city=%E5%8C%97%E4%BA%AC",
headers={"X-API-Key": "你的API-Key"},
)
print(resp.status_code, resp.json())
fetch("https://cloud.dtbgis.com/api/v1/route/transit?origin=116.481028%2C39.989643&destination=116.434446%2C39.90816&city=%E5%8C%97%E4%BA%AC", {
headers: { "X-API-Key": "你的API-Key" }
})
.then(r => r.json())
.then(console.log);
返回结果说明
本接口返回统一 JSON 信封结构:
{
"code": 200,
"msg": "success",
"data": { ... },
"quota_remaining": 9999
}| 字段 | 说明 |
|---|---|
code | 业务状态码,200 表示成功 |
msg | 状态描述,成功为 success |
data | 查询结果对象,字段见下方「data 字段说明」 |
quota_remaining | 本次调用后剩余可用流量豆数量 |
data 为高德原始 JSON 透传,坐标系 GCJ-02。segments[] 中步行 / 公交 / 地铁子对象仅在该段存在对应出行方式时非空。
响应示例
{
"code": 200,
"msg": "success",
"data": {
"status": "1",
"info": "OK",
"route": {
"origin": "116.481028,39.989643",
"destination": "116.434446,39.90816",
"distance": "12000",
"taxi_cost": "32",
"transits": [
{
"cost": "4.00",
"duration": "3600",
"walking_distance": "800",
"nightflag": "0",
"segments": [
{
"walking": { "distance": "400", "duration": "300" },
"bus": {
"buslines": [
{
"name": "地铁15号线",
"departure_stop": { "name": "望京东站" },
"arrival_stop": { "name": "国贸站" },
"via_num": "5",
"via_stops": []
}
]
}
}
]
}
]
}
},
"quota_remaining": 9987
}
data 字段说明
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
status | string | 上游状态码,"1" 表示成功 | 1 |
info | string | 上游状态说明 | OK |
route | object | 公交换乘结果对象 | — |
origin | string | 起点坐标(lng,lat) | 116.481028,39.989643 |
destination | string | 终点坐标(lng,lat) | 116.434446,39.908160 |
distance | string | 起讫直线距离(米) | 9347 |
taxi_cost | string | 出租车预估费用(元) | 32 |
transits | array | 换乘方案列表 | — |
cost | string | 方案预计费用(元) | 5 |
duration | string | 方案预计耗时(秒) | 3600 |
walking_distance | string | 方案步行总距离(米) | 820 |
nightflag | string | 是否夜班车(0 否 / 1 是) | 0 |
segments | array | 换乘分段列表(每段含步行 / 公交 / 地铁子对象) | — |
walking | object | 步行子段(含 distance 距离、steps 步行指引) | — |
bus | object | 公交子段(含 buslines 线路列表:名称 / 起终站 / 距离 / 耗时) | — |
railway | object | 地铁 / 火车子段(含线路名、起终站、班次信息) | — |
错误码
错误以统一结构返回:{"detail": {"code": 429, "msg": "..."}}
| HTTP | 含义 | 常见原因 / 处理 |
|---|---|---|
400 | 参数错误 | 缺少必填参数或格式不合法 |
401 | 鉴权失败 | API Key 缺失、不存在、已停用或已过期 |
403 | 权限不足 | 该 API Key 未开通此接口,请购买流量豆 |
429 | 流量豆不足 / 限流 | 流量豆用完需续费;或超过速率(60 秒 200 次) |
404 | 资源不存在 | 路径错误,或查询对象无数据 |
503 | 服务暂时不可用 | 服务暂时异常,请稍后重试 |
完整错误码见 文档首页 · 错误码总览。