LaTaxi 是一款功能强大的按需出租车预订应用,支持乘客叫车、司机接单、实时位置追踪、路线导航等功能。
项目分析报告:LaTaxi – On Demand Taxi Booking Application
项目概述
项目名称: LaTaxi
项目类型: 网约车/出租车预订应用
平台: Android (用户端 + 司机端)
开发语言: Java
后端: PHP/MySQL API
地图服务: Google Maps API
开发商: TechWare
LaTaxi 是一款功能强大的按需出租车预订应用,支持乘客叫车、司机接单、实时位置追踪、路线导航等功能。
功能描述
乘客端功能
- 用户注册/登录: 支持手机号验证
- 叫车服务: 选择上车地点和目的地
- 实时追踪: 在地图上查看附近司机
- 行程预估: 显示行程距离、时间和费用
- 司机信息: 查看司机资料和车辆信息
- 现金支付: 支持现金支付车费
- 行程评价: 完成行程后评价司机
- 行程历史: 查看历史行程记录
司机端功能
- 司机登录: 司机账号登录
- 接单管理: 接收和响应乘客叫车请求
- 导航功能: 内置导航到乘客位置和目的地
- 行程管理: 开始行程、结束行程
- 收入统计: 查看每日/每月收入
- 在线/离线: 切换工作状态
后台管理功能
- 用户管理: 管理乘客和司机账号
- 行程监控: 实时查看所有车辆位置
- 行程记录: 查看所有行程详情
- 财务管理: 查看司机收入和平台抽成
- 区域管理: 设置服务区域和定价
主要模块
用户端模块
| 模块 | 功能说明 |
|---|---|
| 认证模块 | 注册、登录、手机号验证 |
| 地图模块 | Google Maps 集成、位置选择 |
| 叫车模块 | 选择车型、确认行程 |
| 追踪模块 | 实时追踪司机位置 |
| 支付模块 | 现金支付处理 |
| 评价模块 | 司机评价 |
| 历史模块 | 行程历史记录 |
司机端模块
| 模块 | 功能说明 |
|---|---|
| 认证模块 | 司机登录 |
| 接单模块 | 接收和管理订单 |
| 导航模块 | 路线导航 |
| 行程模块 | 行程状态管理 |
| 收入模块 | 收入统计 |
项目结构
on-demand-taxi-booking-application-script-lataxi/
├── SOURCE/
│ ├── backend/ # 后端 API 代码 (PHP)
│ ├── lataxi user app04-06-2020/ # 乘客端 Android 应用
│ │ ├── user/ # Android Studio 项目
│ │ │ ├── app/
│ │ │ │ ├── src/main/
│ │ │ │ │ ├── java/in/techware/lataxi/
│ │ │ │ │ │ ├── activity/ # 活动页面
│ │ │ │ │ │ ├── adapter/ # 列表适配器
│ │ │ │ │ │ ├── fragment/ # 碎片页面
│ │ │ │ │ │ ├── model/ # 数据模型
│ │ │ │ │ │ ├── net/ # 网络请求
│ │ │ │ │ │ ├── utility/ # 工具类
│ │ │ │ │ │ └── ServiceNames.java # API 配置
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ │ └── build.gradle
│ │ └── build.gradle
│ └── lataxi driver app 04-006-2020/ # 司机端 Android 应用
│ └── driver/ # Android Studio 项目
├── documentation/
│ ├── LaTaxi Description and Features.txt
│ └── LaTaxi Driver Description and Features.txt
└── build/
核心业务逻辑
叫车流程
1. 乘客打开应用 → 自动定位当前位置
2. 输入目的地 → 计算行程距离和费用
3. 选择车型 → 确认叫车
4. 系统匹配附近司机 → 发送叫车请求
5. 司机接受订单 → 乘客看到司机信息
6. 司机前往上车点 → 实时位置更新
7. 乘客上车 → 司机开始行程
8. 到达目的地 → 司机结束行程
9. 乘客支付车费 → 可评价司机
位置追踪
- 使用 Google Maps SDK 显示地图
- GPS 实时获取用户和司机位置
- WebSocket/轮询更新位置信息
- 路线规划使用 Google Directions API
费用计算
- 基于距离和时间计算
- 可设置起步价、里程单价、时长单价
- 支持动态调价(高峰时段)
核心代码文件
| 文件路径 | 说明 |
|---|---|
ServiceNames.java |
API 地址和版本配置 |
activity/BaseActivity.java |
基础活动类,集成 Fabric/Crashlytics |
activity/LoginActivity.java |
用户登录 |
activity/MainActivity.java |
主界面(地图叫车) |
fragment/LocationPickerFragment.java |
位置选择 |
net/ServiceHandler.java |
HTTP 请求处理 |
utility/GPSTracker.java |
GPS 位置追踪 |
utility/ FareCalculator.java |
费用计算 |
技术栈
Android 端
| 技术 | 用途 |
|---|---|
| Google Maps SDK | 地图显示和定位 |
| Google Places API | 地点搜索和自动补全 |
| Google Directions API | 路线规划 |
| Google Distance Matrix API | 距离和时间计算 |
| Firebase Cloud Messaging | 推送通知 |
| Fabric/Crashlytics | 崩溃报告 |
后端
| 技术 | 用途 |
|---|---|
| PHP | 后端 API 开发 |
| MySQL | 数据库 |
| Google Maps API | 地图服务 |
配置说明
Google Maps API 配置
需要在 Google Cloud Console 启用以下 API:
- Google Maps Android API
- Google Maps SDK for iOS
- Google Maps JavaScript API
- Google Places API for Android/iOS
- Google Static Maps API
- Google Places API Web Service
- Google Maps Geocoding API
- Google Maps Directions API
- Google Maps Distance Matrix API
- Google Maps Geolocation API
需要配置的密钥
- Google Maps API Key (Android)
- Google Maps API Key (Browser/Server)
- Firebase 配置 (google-services.json)
- Fabric API Key (可选,用于崩溃报告)
API 配置位置
// ServiceNames.java
public static String PRODUCTION_API = "https://your-domain.com/";
public static String API_VERSION = "api/";
public static String PATH_UPLOAD = "upload/";
数据库设计
主要数据表
| 表名 | 说明 |
|---|---|
| users | 乘客用户表 |
| drivers | 司机表 |
| rides | 行程订单表 |
| vehicles | 车辆信息表 |
| payments | 支付记录表 |
| ratings | 评价表 |
| notifications | 通知表 |
权限需求
<!-- 位置权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 通知权限 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 其他权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
部署步骤
Android 应用配置
- 修改
build.gradle中的应用 ID - 配置 Fabric API Key(如使用)
- 配置 Firebase (通过 Firebase Assistant)
- 配置 Google Maps API Key
- 修改 API 地址指向自己的服务器
- 自定义应用名称和主题颜色
- 生成签名 APK
后端部署
- 上传 PHP 代码到服务器
- 创建 MySQL 数据库
- 导入数据库结构
- 配置数据库连接
- 配置 Google Maps API
- 测试 API 接口
商业模式
盈利方式
- 行程抽成: 从每笔行程中抽取一定比例
- 会员订阅: 司机付费获得优先派单
- 广告收入: 应用内展示广告
运营特点
- 支持任意数量的司机和用户
- 实时追踪所有车辆和司机
- 详细的行程和收入报告
- 多城市管理支持
总结
LaTaxi 是一款功能完整的网约车/出租车预订解决方案,包含乘客端、司机端和后台管理三个部分。应用基于 Google Maps 实现位置服务和路线导航,采用客户端 – 服务器架构,支持实时位置追踪和订单管理。
优势特点:
- 完整的网约车功能实现
- 实时位置追踪和路线导航
- 支持现金支付
- 详细的后台管理和报表
- 可扩展的架构设计
注意事项:
- 需要配置多个 Google Maps API
- 需要部署 PHP 后端
- 需要配置 Firebase 和 Fabric 服务
- 建议根据当地法规调整功能