接口盒子提供的公交线路站点查询API是一款免费的公共交通数据接口,用于查询全国公交线路的详细运营信息。该接口通过线路的唯一编号(UUID)可获取线路走向、途径站点、票价规则、运营时间等核心数据,适用于开发公交查询App、智慧交通系统、地图导航应用等场景。
核心特性:
https://cn.apihz.cn/api/jiaotong/gongjiao2.php
支持GET或POST
参数名 | 必填 | 说明 |
|---|---|---|
id | 是 | 用户中心数字ID(需注册获取) |
key | 是 | 用户中心通讯秘钥(32位字符串) |
uuid | 是 | 全国唯一公交线路编号(可从公交导航规划接口获取接口获取) |
参数名 | 说明 |
|---|---|
type | 0=简略数据(默认),1=返回含详细坐标的数据(适用于地图绘制) |
返回JSON格式数据,包含30+个公交运营关键字段:
字段名 | 说明 | 示例值 |
|---|---|---|
code | 状态码(200成功/400失败) | 200 |
msg | 操作结果消息 | "查询成功" |
station | 途径站点数组(含名称/UUID/经纬度) | [{...}] |
ticketcal | 计费模式(0单一/1按距离/2按站) | 1 |
ismanual | 售票方式(0人工/1无人) | 1 |
linetype | 线路类型(1公交/2地铁/3磁悬浮) | 1 |
totalprice | 全程票价(单位:分) | 200 |
length | 线路长度(米) | 38719 |
starttime | 始发车时间 | "05:30" |
endtime | 末班车时间 | "22:00" |
isbidirectional | 是否双向行驶(0单向/1双向) | 1 |
linename | 线路完整名称 | "648路(大北窑东-疃疃里三区)" |
company | 运营公司 | "北京公交集团第五分公司" |
完整字段参考:月票支持(ismonticket)、发车间隔(interval)、站点数(stationnum)等
bash复制https://cn.apihz.cn/api/jiaotong/gongjiao2.php?
id=10000000&
key=15he5h15ty854j5sr152hs2&
uuid=23212&
type=0php复制<?php
$api_url = "https://cn.apihz.cn/api/jiaotong/gongjiao2.php";
$post_data = [
'id' => '10000000', // 替换为实际ID
'key' => 'your_key_here',// 替换为实际KEY
'uuid' => '23212', // 线路UUID
'type' => '0' // 简略模式
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// 解析JSON响应
$result = json_decode($response, true);
if($result['code'] == 200) {
echo "线路名称: ".$result['linename']."\n";
echo "途径站点数: ".count($result['station']);
} else {
echo "查询失败: ".$result['msg'];
}
?>python运行复制import requests
url = "https://cn.apihz.cn/api/jiaotong/gongjiao2.php"
params = {
"id": "10000000", # 替换为实际ID
"key": "your_key_here",# 替换为实际KEY
"uuid": "23212", # 线路UUID
"type": "0" # 简略模式
}
response = requests.post(url, data=params)
data = response.json()
if data['code'] == 200:
print(f"线路: {data['linename']}")
print(f"首班车: {data['starttime']} 末班车: {data['endtime']}")
print("途径站点:")
for station in data['station']:
print(f"- {station['name']} ({station['uuid']})")
else:
print(f"错误: {data['msg']}")json复制{
"ticketcal": 1,
"ismanual": 1,
"linetype": 1,
"totalprice": 0,
"byuuid": 22133,
"length": 38719,
"ismonticket": 0,
"endtime": "22:00",
"increasedstep": 0,
"starttime": "05:30",
"startprice": 200,
"increasedprice": 0,
"stationnum": 39,
"totaltime": 0,
"station": [
{"name": "大北窑东", "uuid": "120045", "lonlat": "116.458358,39.906717"},
{"name": "八王坟东", "uuid": "127984", "lonlat": "116.47729,39.906558"},
... // 其他37个站点
],
"isbidirectional": 1,
"linename": "648路(大北窑东-疃疃里三区)",
"interval": 600,
"company": "北京公共交通控股(集团)有限公司第五客运分公司",
"code": 200
}json复制{"code":400,"msg":"查询失败,请重试。"}官方文档参考:公交接口文档
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。