目的地が 1 つのルートを作成する

このドキュメントでは、単一の目的地ルートを作成し、正しいルートを設定する方法について説明します。 車両に割り当てることができます。フリートがセットアップ済みであることを前提としています。 車両を作成済みで、動作中のドライバー用アプリがあることを確認し、 コンシューマアプリでも実行できますこれについては、次の関連ガイドをご覧ください。

旅行の作成の基本

このセクションでは、 Fleet EnginegRPC と REST のいずれかを使用して作成リクエストを発行します。

  • CreateTrip() メソッド: gRPC または REST
  • CreateTripRequest メッセージ: gRPC のみ
で確認できます。

ルートのフィールド

Fleet Engine でルートを作成するには、次のフィールドを使用します。別の方法を使用して、 フィールドを使用して、1 つの目的地、複数の目的地、 連続してプールを行ったり、プール旅行をシェアしたりできます。マイページ ルートの作成時にオプション フィールドを指定することも、自分で ルートを更新したときに 自動的に設定されます

ルートのフィールド
名前 必須 説明
はい プロジェクト ID を含む文字列。この ID は、使用されている ID と同じである必要があります Fleet Engine インテグレーション全体にわたり、同じサービス アカウントで できます。
trip_id はい このルートを一意に識別する文字列。ルート ID の属性 特定の制限が適用されます。
trip_type はい 作成するルートのタイプに応じて、TripType に次の値を設定します。 <ph type="x-smartling-placeholder">
    </ph>
  • 単一のデスティネーション: SHARED または EXCLUSIVE に設定します。
  • 複数の宛先: EXCLUSIVE に設定します。
  • Back-to-back: EXCLUSIVE に設定します。
  • 共有プール: SHARED に設定します。
pickup_point はい ルートの出発地。
中間デスティネーション はい

複数の目的地を含むルートのみ: ドライバーがルート間を通る中間の目的地のリスト ピックアップとドロップオフですdropoff_point と同様に、このフィールドは 後で UpdateTrip を呼び出して設定することもできますが、マルチデスティネーション ルートには中間の目的地が含まれます。

vehicle_waypoints はい

共有プールのルートのみ: このフィールドでは、複数のルートのウェイポイントをインターリーブできます。 これには、割り当てられた車両の残りのウェイポイントもすべて含まれます。 このルートの乗り降り地点として設定しますこのフィールドは CreateTrip または UpdateTrip を呼び出します。また、 車両のウェイポイントを更新するには、waypoints フィールド UpdateVehicle への呼び出し。 GetTrip の呼び出しでは、サービスはこの情報を返しません。 理由があります。

number_of_passengers いいえ 旅行の乗客数。
dropoff_point いいえ ルートの目的地。
vehicle_id いいえ ルートに割り当てられている車両の ID。

例: 1 つの目的地を含むルート

次の例は、グランド インドネシアへの旅行を作成する方法を示しています イースト モール。このルートには 2 人の乗客が伴い、独占的なステータスです。 NEW。ルートの provider_id は、Google Cloud と同じである必要があります。 プロジェクト ID です。この例は、プロジェクト ID が割り当てられた Google Cloud プロジェクトを示しています。 my-rideshare-co-gcp-project。このプロジェクトにはサービス アカウントも必要です Fleet Engine を呼び出す必要があります詳しくは、サービス アカウントのロールをご覧ください。

static final String PROJECT_ID = "my-rideshare-co-gcp-project";

TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);

// Trip initial settings.
String parent = "providers/" + PROJECT_ID;

Trip trip = Trip.newBuilder()
    .setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
    .setPickupPoint(                 // Grand Indonesia East Mall.
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.195139).setLongitude(106.820826)))
    .setNumberOfPassengers(2)
    // Provide the drop-off point if available.
    .setDropoffPoint(
        TerminalLocation.newBuilder().setPoint(
            LatLng.newBuilder()
                .setLatitude(-6.1275).setLongitude(106.6537)))
    .build();

// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
    .setParent(parent)
    .setTripId("trip-8241890")  // Trip ID assigned by the provider.
    .setTrip(trip)              // The initial state is NEW.
    .build();

// Error handling.
try {
  Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
  Status s = e.getStatus();
  switch (s.getCode()) {
    case ALREADY_EXISTS:
      break;
    case PERMISSION_DENIED:
      break;
  }
  return;
}

次のステップ