什么是按需行程?

本部分中的文档介绍了如何使用 Google Maps Mobility 按需出行服务创建和处理行程。本教程假定您熟悉以下内容:

您将使用的 TripService 可用于 gRPCREST。为简单起见,字段引用遵循 gRPC 惯例。

在 Fleet Engine 中,对于按需服务,行程是一种旅程类型,用于模拟食品配送或乘客乘车请求的完成情况。行程具有一个状态,您需要在行程进展过程中向 Fleet Engine 报告该状态,例如 NEWENROUTE_TO_PICKUP 等。行程状态与分配给车辆的地理定位途经点相对应,并且 Fleet Engine 会根据您所做的每次行程更新来修改这些车辆途经点。如需详细了解行程及其与车辆的关系,请参阅 Fleet Engine 基础知识中的按需行程

行程的生命周期

为了在 Fleet Engine 中跟踪每次行程,您必须先创建 Trip 实体。如需查看参考信息,请参阅 gRPCREST

下表描述了在您的系统中创建的行程的端到端流程示例,以及该行程在 Fleet Engine 中的生命周期阶段。它假定您已设置 Fleet Engine,并且有一辆可分配给行程的车辆,同时在司机应用中启用了位置信息更新。请参阅 Driver SDK:按需行程

1 接收预订请求。 在 Fleet Engine 行程开始之前,您的预订系统首先会通过您的应用或其他预订系统收到消费者的乘车或送货请求。然后,系统会使用 CreateTrip 创建包含必需字段(例如上车地点)的行程实体。 它还可以在此时设置其他字段,例如乘客和下车地点,也可以等到分配车辆后再设置。请参阅创建单目的地行程
2 分配车辆。

您可以直接在系统中为行程分配车辆,并将分配情况报告给 Fleet Engine;也可以使用搜索车辆服务搜索车辆,并按行程和车辆属性进行过滤,以找到最适合完成行程的车辆。搜索半径范围内的任何在线车辆都会通过 Driver SDK 提供的位置更新信息来告知其位置。

SearchVehicle 返回与行程匹配的车辆后,您的系统会调用 UpdateTrip 端点,以报告您为 NEW 行程分配的车辆 ID。

3 更新行程。 司机接受行程并开始前往上车地点后,系统会将行程状态从 NEW 更新为 ENROUTE_TO_PICKUP。您可以在整个行程中持续轮询车辆位置,方法是通过应用直接连接到后端,或者轮询 Fleet Engine,后者会从 Driver SDK 接收持续的车辆位置更新信息流。然后,您的系统会将每个行程里程碑报告给 Fleet Engine,后者会相应地更新车辆的途经点列表。
4 与消费者分享转化历程。 Fleet Engine 会向 Consumer SDK 提供行程详细信息和车辆位置信息,而 Consumer SDK 会使用监听器接收行程更新并在消费者应用中显示这些信息。Fleet Engine 会自动更新预计到达时间、剩余距离、路线和剩余车辆途经点。如需了解详情,请参阅共享行程(对于按需行程)
5 完整行程。 当车辆到达行程的目的地航点且司机表示行程成功完成时,您的系统会在 Fleet Engine 中将 TripStatus 设置为 COMPLETE。请注意,与车辆类似,无论状态如何,行程实体在 Fleet Engine 中都会保持活跃状态 7 天,之后会被移除。

行程序列流程

下图更详细地展示了此流程。

TripSequenceDiagram

后续步骤