公交线路规划免费API接口详解

简介: 本接口提供基于起点和终点经纬度的公交线路规划功能,支持多种换乘方案,包含分段站点、线路名称、耗时等信息,适用于出行导航类应用开发。

一、接口简介

本接口提供基于起点和终点经纬度的公交线路规划功能,适用于各类出行导航应用开发。通过输入精确的地理坐标点,接口将返回包含多种换乘方案的公交路线数据,包括分段站点信息、站点坐标、线路名称及分段耗时等关键信息。


二、核心功能参数

请求地址

复制

https://cn.apihz.cn/api/jiaotong/gongjiao.php

请求方式

支持 GETPOST

请求参数

参数名称 参数类型 必填 说明
id 字符串 用户中心的数字ID(需注册获取)
key 字符串 用户中心通讯秘钥
starlon 浮点数 起点经度(示例:121.4279)
starlat 浮点数 起点纬度(示例:31.20872)
endlon 浮点数 终点经度(示例:121.313079)
endlat 浮点数 终点纬度(示例:31.195667)
linetype 整数 线路策略(1-15,默认1=标准策略)
type 整数 数据简化:0=简略数据(默认),1=详细导航数据

注意:经纬度可通过设备定位或坐标查询接口获取


三、返回数据结构

字段路径 说明
code 状态码(200成功,400失败)
msg 操作结果消息
datas 所有线路方案的集合(数组)
datas[i].lineName 换乘方案名称(竖杠分隔线路)
datas[i].segments 当前方案的分段数据集(数组)
segments[j].stationStart 分段起点信息(含名称、坐标)
segments[j].stationEnd 分段终点信息(含名称、坐标)
segments[j].segmentTimes 分段耗时(单位:分钟)

四、调用示例

🔹 PHP 调用示例

php

复制

<?php
$apiUrl = "https://cn.apihz.cn/api/jiaotong/gongjiao.php";
$params = [
    'id' => '10000000',         // 替换为您的实际ID
    'key' => '15he5h15ty854j5', // 替换为您的实际KEY
    'starlon' => 121.4279,
    'starlat' => 31.20872,
    'endlon' => 121.313079,
    'endlat' => 31.195667,
    'linetype' => 1,
    'type' => 0
];
// 构造请求URL
$requestUrl = $apiUrl . '?' . http_build_query($params);
// 发送GET请求
$response = file_get_contents($requestUrl);
// 处理JSON响应
$result = json_decode($response, true);
if ($result['code'] == 200) {
    foreach ($result['datas'] as $route) {
        echo "线路方案: " . $route['lineName'] . "\n";
        foreach ($route['segments'] as $segment) {
            echo "🚏 从 {$segment['stationStart']['name']} 到 {$segment['stationEnd']['name']} ";
            echo "⏱️ 耗时: {$segment['segmentTimes']}分钟\n";
        }
    }
} else {
    echo "错误: " . $result['msg'];
}
?>

🔹 Python 调用示例

python

运行

复制

import requests
params = {
    "id": "10000000",          # 替换为您的实际ID
    "key": "15he5h15ty854j5",  # 替换为您的实际KEY
    "starlon": 121.4279,
    "starlat": 31.20872,
    "endlon": 121.313079,
    "endlat": 31.195667,
    "linetype": 1,
    "type": 0
}
response = requests.get(
    "https://cn.apihz.cn/api/jiaotong/gongjiao.php",
    params=params
)
if response.status_code == 200:
    data = response.json()
    if data["code"] == 200:
        for route in data["datas"]:
            print(f"线路方案: {route['lineName']}")
            for segment in route["segments"]:
                start = segment["stationStart"]["name"] or "起点"
                end = segment["stationEnd"]["name"] or "终点"
                print(f"🚏 从 {start} 到 {end} ⏱️ 耗时: {segment['segmentTimes']}分钟")
    else:
        print("错误:", data["msg"])
else:
    print("HTTP请求失败,状态码:", response.status_code)

五、返回数据示例

成功响应(200)

json

复制

{
  "code": 200,
  "datas": [
    {
      "lineName": "地铁10号线 |",
      "segments": [
        {
          "stationStart": {
            "name": "",
            "uuid": "",
            "lonlat": "121.4279,31.2087"
          },
          "stationEnd": {
            "name": "交通大学站6号口",
            "uuid": "1429089",
            "lonlat": "121.429851,31.203733"
          },
          "segmentTimes": 14
        },
        {
          "stationStart": {
            "name": "交通大学站",
            "uuid": "1429089",
            "lonlat": "121.429851,31.203733"
          },
          "stationEnd": {
            "name": "虹桥火车站",
            "uuid": "1431250",
            "lonlat": "121.316195,31.195677"
          },
          "segmentTimes": 20
        }
      ]
    },
    {
      "lineName": "113路|地铁10号线 |",
      "segments": [
        {
          "stationStart": {
            "name": "",
            "uuid": "",
            "lonlat": "121.4279,31.2087"
          },
          "stationEnd": {
            "name": "华山路湖南路",
            "uuid": "1461336",
            "lonlat": "121.428817,31.20775"
          },
          "segmentTimes": 4
        }
      ]
    }
  ]
}

失败响应(400)

json

复制

{
  "code": 400,
  "msg": "查询失败,请重试。"
}

六、使用须知

  1. 身份认证:必须使用接口盒子平台注册获取专属ID和KEY
  2. 频次限制:公共ID共享频次限制,正式项目务必使用私有KEY
  3. 坐标精度:经纬度建议保留6位小数以保证定位准确性
  4. 策略说明linetype参数需根据文档调试选择(如2=时间最少、3=地铁优先等)
相关文章
|
15天前
|
人工智能 安全 架构师
告别旅行规划的"需求文档地狱"!这个AI提示词库,让你像调API一样定制完美旅程
作为开发者,旅行规划如同“需求地狱”:信息碎片、需求多变、缺乏测试。本文提出一套“企业级”AI提示词库,将模糊需求转化为结构化“API请求”,实现标准化输入输出,让AI成为你的专属旅行架构师,30分钟生成专业定制方案,提升决策质量,降低90%时间成本。
325 129
|
前端开发 定位技术 API
百度地图API:根据起始点经纬度坐标确认最佳路线规划
百度地图API:根据起始点经纬度坐标确认最佳路线规划
232 0
|
API
使用的orTools的约束规划与线性规划解决相同问题的代码api差异对比
使用的orTools的约束规划与线性规划解决相同问题的代码api差异对比
157 0
|
机器学习/深度学习 IDE Java
Apache Flink Python API 的现状及未来规划(二)| 学习笔记
快速学习 Apache Flink Python API 的现状及未来规划。
Apache Flink Python API 的现状及未来规划(二)| 学习笔记
|
开发框架 关系型数据库 MySQL
【大安全开发部-数字规划团队】使用Beego搭建Go语言的Restful API项目
此文章是Go语言开发项目的入门篇,hello word级别,主要讲解基于框架开发go项目的搭建过程
554 0
|
SQL 大数据 API
Flink Table/SQL API 规划 —— Dynamic Table
动态表直观上看是一个类似于数据库中的`Materialized View`概念。动态表随着时间改变;类似静态的batch table一样可以用标准SQL进行查询然后一个新的动态表;可以和流无损地互相转换(对偶的)。
10345 0
|
JavaScript 前端开发 API
【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行
原文:【高德地图API】从零开始学高德JS API(五)路线规划——驾车|公交|步行 先来看两个问题:路线规划与导航有什么区别?步行导航与驾车导航有什么区别? 回答: 1、路线规划,指的是为用户提供3条路线推荐。
2271 0
|
2月前
|
JSON API 数据安全/隐私保护
深度分析淘宝卖家订单详情API接口,用json返回数据
淘宝卖家订单详情API(taobao.trade.fullinfo.get)是淘宝开放平台提供的重要接口,用于获取单个订单的完整信息,包括订单状态、买家信息、商品明细、支付与物流信息等,支撑订单管理、ERP对接及售后处理。需通过appkey、appsecret和session认证,并遵守调用频率与数据权限限制。本文详解其使用方法并附Python调用示例。
|
22天前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
2月前
|
JSON 算法 安全
淘宝商品详情API接口系列,json数据返回
淘宝开放平台提供了多种API接口用于获取商品详情信息,主要通过 淘宝开放平台(Taobao Open Platform, TOP) 的 taobao.tbk.item.info.get(淘宝客商品详情)或 taobao.item.get(标准商品API)等接口实现。以下是关键信息及JSON返回示例:

热门文章

最新文章