W tym dokumencie opisujemy, jak utworzyć podróż w obie strony, ustawić poprawną i przypisać je do pojazdu, który ma je wypełnić. Zakładamy, że masz skonfigurowaną flotę masz już utworzone pojazdy, działającą aplikację kierowcy i opcjonalnie aplikację konsumencką. Musisz też znać różne opcje podróży w przypadku podróży na żądanie. Zobacz te powiązane przewodniki dotyczące które:
- Skonfiguruj Fleet Engine
- Tworzenie pojazdu
- Scenariusze podróży w sekcji Podróże na żądanie
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.
.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óż.
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:
|
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 |
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 |
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: utwórz podróż w obie strony.
Poniżej pokazujemy, jak utworzyć podróż w obie strony i przypisać ją do pojazdu. W tym scenariuszu tworzenie podróży wygląda tak samo jak w przypadku pojedynczego miejsca docelowego. podróży. Dopiero później utworzysz kolejną podróż i przypiszesz ją do pojazdu z aktywną podróżą.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
Zaktualizuj kolejne podróże
Gdy przypisujesz pojazd do podróży w tle, przypisujesz podróż do pojazdu, nawet jeśli został już przypisany.
Podróż utworzona we Fleet Engine musi być przypisana do pojazdu, aby Fleet Engine oblicza i śledzi szacowany czas dotarcia na miejsce. Możesz to zrobić podczas podczas tworzenia podróży lub później, gdy ją zaktualizujesz.
Po przypisaniu podróży do pojazdu usługa Fleet Engine automatycznie doda do niej
punkty pośrednie powiązane z kolejnymi trasami do punktów pośrednich pojazdu
. Pole remainingWaypoints
podróży zawiera listę wszystkich
punkty pośrednie, w tym te z innych podróży, które były odwiedzane w przeszłości
jest końcowa podróż.
Rozważmy na przykład 2 podróże po kolei: Podróż A. i Podróż B. Pojazd odebrał konsumenta dla podróży A i na trasie do miejsca docelowego lokalizacji, kierowca otrzyma prośbę o odebranie kolejnego następna podróż, Podróż B.
- Połączenie z numerem
getVehicle()
zwracaremainingWaypoints
zawierające:
Rezygnacja → B Odbiór → B Rezygnacja. - Może to być
getTrip()
alboonTripRemainingWaypointsUpdated
oddzwanianie dla Podróż A zwracaremainingWaypoints
zawierające:
Rezygnacja. - Może to być
getTrip()
alboonTripRemainingWaypointsUpdated
oddzwanianie dla Podróż B zwracaremainingWaypoints
zawierające:
Rezygnacja → B Odbiór → i B Rezygnacja.