Fleet Engine からルートデータを直接取得する

このガイドでは、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 フィールドの例を次に示します。

[0] location.point = trip.pickup_point.point
trip_id = 「trip_A」
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] 残りの経路から乗車までの最初の LatLng
残りの経路から乗車までの 2 番目の LatLng
...
残りの経路から乗車までの最後の LatLng
pickup_point(最終目的地と異なる場合)
traffic_data
metric_meters = 現在の車両場所(path_to_waypoint)から乗車地点までの距離
ETA = 更新された到着予定時刻
期間 = 更新された期間
[1] location.point = trip.dropoff_point.point
trip_id = "trip_A"
ウェイポイント タイプ = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] 降車区間からの最初の LatLng
降車区間からの 2 番目の LatLng
...
降車区間からの最後の LatLng
dropoff_point(最後と異なる場合)
traffic_data
Distance_meters = 乗車場所から path_to_waypoint から降車までの距離
ETA = 更新された到着予定時刻
所要時間 = 降車距離

連続して共有されるプールルートの場合、このリストには地点が含まれている可能性があります 他のルートのデータポイントを 比較する必要がありますたとえば ルート 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 のルートの中、