# 实时公交查询 **Repository Path**: linfei83/real-time-bus-query ## Basic Information - **Project Name**: 实时公交查询 - **Description**: 这是一个基于Flask的实时公交查询系统,提供公交路线查询、实时位置追踪、换乘规划等功能。系统通过调用笑园实时公交AP获取城市公交数据,并提供Web界面展示结果。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-04-19 - **Last Updated**: 2025-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 实时公交查询系统 这是一个基于Flask的实时公交查询系统,提供公交路线查询、实时位置追踪、换乘规划等功能。系统通过调用第三方API获取城市公交数据,并提供Web界面展示结果。 ## 功能特点 - 公交路线查询:搜索城市内的公交线路信息 - 实时位置追踪:查看公交车辆的实时位置和到站信息 - 发车时刻表查询:获取公交线路的首末班车时间和发车间隔 - 换乘规划:输入起点和终点,规划最优公交换乘路线 - 数据缓存:通过本地缓存机制减少API调用次数,提高响应速度 ## 目录结构 ``` 实时公交查询系统/ ├── app.py # Flask应用主文件 ├── api_client.py # API客户端实现 ├── run.py # 应用启动脚本 ├── .env # 环境变量配置文件(保密) ├── .env.example # 环境变量示例文件 ├── static/ # 静态资源目录 │ ├── css/ # CSS样式文件 │ └── js/ # JavaScript脚本文件 ├── templates/ # HTML模板文件目录 │ └── index.html # 主页模板 └── cache/ # 数据缓存目录 ``` ## 安装与使用 ### 前置条件 - Python 3.7+ - pip(Python包管理工具) ### 安装步骤 1. 克隆仓库到本地 2. 安装依赖包 ```bash pip install -r requirements.txt ``` 3. 配置环境变量 ```bash cp .env.example .env ``` 编辑.env文件,填入您的API账号和密钥。 ### 启动应用 ```bash python run.py ``` 默认情况下,应用将在http://localhost:5000启动。 若需要查看详细的调试信息,可以使用以下命令启动: ```bash python run.py --debug ``` ## API接口 系统提供以下RESTful API接口: - **GET /api/cities**: 获取支持的城市列表 - **GET /api/bus_lines**: 搜索公交路线 - **GET /api/bus_lines_complete**: 搜索公交路线(包含正向和反向) - **GET /api/bus_lines_reverse**: 搜索公交反向路线 - **GET /api/realtime_location**: 获取公交实时位置 - **GET /api/bus_schedule**: 获取发车时刻表 - **GET /api/search_location**: 换乘-地点搜索 - **GET /api/plan_route**: 换乘-路线规划 详细API文档请参考系统中的接口实现。 ## 开发与扩展 系统使用模块化设计,便于扩展和维护: - `app.py`:定义Flask路由和视图函数 - `api_client.py`:封装API调用逻辑,处理缓存和错误 - `templates/index.html`:前端界面实现 如需添加新功能,可以按照既有模式扩展相应模块。