架构和组件

实现行程和订单进度涉及到使用多个按需行程和送货解决方案组件,包括 Fleet Engine、Consumer SDK 和 Driver SDK:

  • Fleet Engine 是按需行程和交付解决方案后端服务。它负责管理行程和车辆状态。它可处理驱动程序 SDK、消费者 SDK 和后端服务之间的事务,而后端服务可通过进行 REST 或 gRPC 调用与 Fleet Engine 通信。

  • Consumer SDK 是您集成到消费者应用中的客户端库。它负责呈现行程共享体验,包括跟踪司机路线、剩余距离和预计到达时间。Consumer SDK 适用于移动设备(AndroidiOS),或适用于网页 (JavaScript)。

  • Driver SDK 是您集成到驾驶员应用中的客户端库。它负责使用驾驶员的位置、路线、剩余距离和预计到达时间更新 Fleet Engine。它还封装了 Navigation SDK,以便为驾驶员提供精细导航说明。如需了解详情,请参阅使用 Google 地图导航

以下架构图显示了这些组件之间的关系:

架构

行程、车辆和航点

创建行程和订单进度应用涉及到行程、车辆和航点。

行程

行程代表一段旅程 - 将消费者(或他们订购的餐点)从上车点运送到下车点的行程,包括沿途的中间航点。

通过编程方式,Trip 对象封装了上车地点、目的地、车辆的当前位置、出行路线、中间航点和行程类型(独占共享)。

车辆

车辆代表车队中的车辆。通过编程方式,Vehicle 对象可封装车辆的位置、当前行程列表和当前航点列表。

航点

航点表示路线沿途的位置。可以是上车点、下车点,也可以是途经的里程碑。以编程方式,Waypoint 对象包含航点的位置(作为一组地理坐标)、航点类型以及包含该航点的行程的标识符。

行程和车辆都包含航点:

  • 行程的一组航点包含与行程相关的所有航点。如果某个行程与其他行程共享,则可能包含其他行程的航点。

  • 车辆的航点集包含车辆的所有剩余航点,包括多个行程的航点。

示例流程

下图显示了典型的行程和订单进度流程。 如需了解详情,请参阅创建和显示单个目的地行程

序列图

以下步骤介绍了如何设置示例流程:

  1. 创建车辆,启用位置信息分享,然后将车辆状态设置为在线。您可以通过 Fleet Engine 创建车辆。您可以通过 Fleet Engine 或 Driver SDK 将车辆状态设置为在线

  2. 请将客户与您的车辆进行匹配。您可以使用 SearchVehicles() 方法查找车队中潜在车辆的列表。

  3. 在 Fleet Engine 中创建行程,将车辆分配给该行程,将该行程与消费者应用相关联,并为司机提供上车点和下车点。

  4. Driver SDK 会在行程中自动更新预计到达时间、距离和路线。您负责更新行程状态。

如需开始实现行程和订单进度,请参阅创建和显示单个目的地行程