このガイドでは、Fleet Engine から直接ルートデータを取得する方法を 使用することもできますこの方法を使用すると、 フリートを有効活用しながらエンドユーザー エクスペリエンスを制御 エンジンの正確でリアルタイムの車両位置情報、ETA、ルート。
Consumer SDK の使用方法の詳細については、オンデマンド ジャーニーを共有する ルート。
ルート情報を取得する
Fleet Engine から直接ルート情報を取得するには、GetTrip
を呼び出します。
メソッドで JOURNEY_SHARING_V1S
ビューを指定します。RPC のリファレンスをご覧ください。
REST。
サーバーは通常、ルートサービスに各ルートのステータスをポーリングします。
ライダーが車両の進捗状況をアクティブに監視します。車両の位置情報
更新は通常 10 秒ごとに行われ、システムはその時点でポーリングを
です。Trip.last_location.update_time
フィールドをモニタリングすることで、
前回の GetTrip
呼び出し以降に更新がありました。
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
結果の Trip
オブジェクトでは、次のフィールドに最新のデータが入力されます。
次のように入力できます。
name |
trip_status |
remaining_waypoints |
vehicle_id |
trip_type |
last_location |
number_of_passengers |
pickup_point |
view (== JOURNEY_SHARING_V1S) |
actual_pickup_point |
intermediate_destinations |
intermediate_destination_index |
pickup_time |
intermediate_destinations_version |
dropoff_point |
actual_dropoff_point |
dropoff_time |
|
残りのルートの地点を取得する
Trip エンティティに TripWaypoint
型の繰り返しフィールドが含まれています。
車両が走行する必要があるすべてのウェイポイントを
出発点になります移動経路の共有ビューを指定すると
Fleet Engine は、更新された情報を残りの_waypoints[0] に配置します
TripWaypoint
。他の、ジャーニー共有以外のビューでは、そのウェイポイントは
通常は割り当てられた車両の最新の位置を反映します。詳しくは、
RPC または REST のリファレンスをご覧ください。
詳しくは、ルートの状況と残りの車両ウェイポイントをご覧ください。 詳しくは、ルートの概要をご覧ください。
ルート A の remaining_waypoints
フィールドの例を次に示します。
| |||||||||||||||||||||
|
連続して共有されるプールルートの場合、このリストには地点が含まれている可能性があります
他のルートのデータポイントを
比較する必要がありますたとえば
ルート B がルート A と同じ車両に割り当てられているシナリオ。「
この場合、ルート A の remaining_waypoints
フィールドに次のようにデータが入力されます。
簡潔にするためにほとんどのフィールドは省略されていますが、
前の例と同じく、データが入力されます。
[0] | trip_id = "trip_A" |
---|---|
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
ウェイポイント タイプ = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
ウェイポイント タイプ = DROP_OFF_WAYPOINT_TYPE |
ルート B の remaining_waypoint
フィールドにも同じデータが入力されますが、
ルート A の降車地点は部分ではないため、最初の 3 つのエントリが存在します。
ルート B のルートの中、