Tworzenie podróży w jedną stronę docelową

W tym dokumencie opisujemy, jak utworzyć pojedynczą podróż docelową, ustawić poprawne i przypisać je do pojazdu, który ma je wypełnić. Zakładamy, że masz skonfigurowaną flotę jeśli masz utworzone pojazdy, działającą aplikację kierowcy, opcjonalnie aplikację konsumencką. Możesz to sprawdzić w tych powiązanych przewodnikach:

Podstawowe informacje o tworzeniu podróży

Ta sekcja zawiera szczegóły prośby niezbędne do utworzenia podróży po Fleet Engine. Wysyłasz żądanie utworzenia za pomocą gRPC lub REST.

  • Metoda CreateTrip(): gRPC lub REST
  • Komunikat CreateTripRequest: tylko gRPC

Pola podróży

Użyj poniższych pól, aby utworzyć podróż we Fleet Engine. Możesz użyć różnych pola dla różnych rodzajów podróży: pojedynczej lub wielu miejsc docelowych, lub wspólne podróże. Ty może wypełnić pola opcjonalne podczas tworzenia podróży lub można je ustawić później, gdy zaktualizujesz podróż.

Pola podróży
Nazwa Wymagana? Opis
parent Tak Ciąg tekstowy zawierający identyfikator projektu. Ten identyfikator musi być taki sam, jak używany w całej integracji Fleet Engine z tym samym kontem usługi role.
trip_id Tak Utworzony przez Ciebie ciąg znaków jednoznacznie identyfikujący tę podróż. Identyfikatory podróży zawierają pewnych ograniczeń, które określono w pliku referencyjnym.
trip_type Tak W polu TripType ustaw następujące wartości dla tworzonego typu podróży:
  • Pojedyncze miejsce docelowe: ustaw SHARED lub EXCLUSIVE.
  • Wiele miejsc docelowych: ustaw wartość EXCLUSIVE.
  • Do tyłu: ustaw EXCLUSIVE.
  • Wspólne udostępnianie: ustaw SHARED.
pickup_point Tak Punkt początkowy podróży.
Średnie miejsca docelowe Tak

Tylko podróże do wielu miejsc docelowych: lista pośrednich miejsc docelowych, które kierowca odwiedza pomiędzy tymi miejscami. odbiór i zwrot. Tak jak dropoff_point, to pole Można również ustawić ją później, wywołując UpdateTrip, ale do wielu miejsc docelowych podróż z definicji zawiera miejsca docelowe pośrednie.

vehicle_waypoints Tak

Tylko podróże w ramach wspólnego puli: to pole obsługuje przeplatanie punktów pośrednich z wielu przejazdów. Zawiera wszystkie pozostałe punkty na trasie przypisanego pojazdu, a także jako punkty na trasie wyjazdu i przyjazdu. Możesz wybrać to pole zadzwoń pod numer CreateTrip lub UpdateTrip. Możesz też zaktualizuj punkty pośrednie pojazdu w polu waypoints za pomocą połączenie z numerem UpdateVehicle. Usługa nie zwraca tych informacji w przypadku wywołań funkcji GetTrip ze względu na ochronę prywatności.

number_of_passengers Nie Liczba pasażerów na trasie.
dropoff_point Nie Cel podróży.
vehicle_id Nie Identyfikator pojazdu przypisanego do podróży.

Przykład: podróż z jednym celem

Poniższy przykład pokazuje, jak utworzyć podróż do Wielkiej Indonezji w centrum handlowym East Mall. Podróż obejmuje 2 pasażerów, jest wyłączna i ma status NEW provider_id podróży musi być taki sam jak w Google Cloud identyfikator projektu. Przykłady pokazują projekt Google Cloud z identyfikatorem projektu my-rideshare-co-gcp-project Ten projekt musi też zawierać konto usługi żeby wywołać Fleet Engine. Więcej informacji znajdziesz w sekcji Role na koncie usługi.

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;
}

Co dalej?