Bu dokümanda, arka arkaya seyahatin nasıl oluşturulacağı açıklanmaktadır; bu nedenle, ve doldurulması için bir araca atayın. Filoyu kurduğunuz varsayılır Motor, araçlar oluşturdunuz, çalışan bir sürücü uygulamanız var ve isteğe bağlı olarak bir tüketici uygulaması. Ayrıca, farklı geziler hakkında bilgi sahibi isteğe bağlı seyahatler için birkaç senaryo mevcuttur. Aşağıdakiler için aşağıdaki ilgili kılavuzlara bakın: şu bilgileri sağlar:
- Fleet Engine'i kurma
- Araç oluşturma
- Seç-izle geziler'e genel bakıştaki seyahat senaryoları
Gezi oluşturmayla ilgili temel bilgiler
Bu bölümde, Londra'da seyahat oluşturmak için gereken istek ayrıntıları Filo Motoru. gRPC veya REST kullanarak bir oluşturma isteği gönderirsiniz.
ziyaret edin.Seyahat Alanları
Fleet Engine'de gezi oluşturmak için aşağıdaki alanları kullanın. Farklı veri türleri için farklı seyahat türlerine yönelik alanlar sunar: tek veya çok hedefli, ortak havuz gezileri olabilir. Siz isteğe bağlı alanları geziyi oluştururken sağlayabilir veya bunları ya da siz de bu sırada gezinebilirsiniz.
Ad | Zorunlu mu? | Açıklama |
---|---|---|
parent | Evet | Proje kimliğini içeren bir dize. Bu kimlik, kullanılan kimlikle aynı olmalıdır aynı hizmet hesabını kullanarak, Fleet Engine entegrasyonunuzun tamamında rolleri. |
trip_id | Evet | Sizin oluşturduğunuz ve bu seyahati benzersiz şekilde tanımlayan bir dize. Gezi kimlikleri referansta belirtildiği şekilde bazı kısıtlamalara tabi olacaktır. |
trip_type | Evet | TripType'ı, oluşturduğunuz gezi türü için aşağıdaki değerlere ayarlayın:
|
pickup_point | Evet | Yolculuğun kalkış noktası. |
Orta seviye hedefler | Evet | Yalnızca çok hedefli seyahatler: Sürücün arada ziyaret ettiği ara hedeflerin listesi
yardımcı olur. |
vehicle_waypoints | Evet | Yalnızca ortak havuz gezileri: Bu alan, birden fazla seyahatteki ara noktaların arasına katılmayı destekler.
Burada, atanan aracın kalan tüm ara noktaları da
olarak ayarlayabilirsiniz. Bu alanı,
|
number_of_passengers | Hayır | Seyahatteki yolcu sayısı. |
dropoff_point | Hayır | Gezinin varış noktası. |
vehicle_id | Hayır | Seyahate atanan aracın kimliği. |
Örnek: arka arkaya seyahat oluşturma
Aşağıda, arka arkaya seyahatin nasıl oluşturulacağı ve yolculuğun bir kullanıcıya nasıl atanacağı gösterilmektedir kullanabilirsiniz. Bu senaryoda, gezi oluşturma işlemi tek bir varış noktası için yapılanla aynıdır hayal edin. Yalnızca daha sonra başka bir gezi oluşturup bunu bir araca atarsınız zaten etkin olan bir gezide.
// 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;
}
Art arda yapılan gezileri güncelleyin
Arka arkaya seyahat için bir araç atadığınızda, veya başka bir aracı kullanmaya devam edebilir.
Fleet Engine'de oluşturulan tüm yolculuklar bir araca atanarak Fleet Engine'i kullanarak seyahat tahmini varış sürelerini hesaplayıp takip edebilir. Bu işlemi veya daha sonra, geziyi güncellediğinizde oluşturabilirsiniz.
Seyahati bir araca atadıktan sonra, Fleet Engine otomatik olarak
aracın ara noktalarına yapılan art arda yolculuklarla ilişkili ara noktalar
girin. Bir gezinin remainingWaypoints
alanı tüm seyahatlerin listesini içerir
önceden ziyaret edilecek diğer seyahatlere ait olanlar dahil, ara noktaları
ve ayrılmayı tercih edebilirsiniz.
Örneğin, arka arkaya iki seyahati düşünün: A Gezisi ve B Gezisi. Araç, tüketiciyi aldı A Gezisi için ve indirme sırasında başka bir tüketiciyi teslim alma isteği alırsa sonraki gezi, B Gezisi.
getVehicle()
araması yapıldığındaremainingWaypoints
değeri döndürülür şunları içeren:
Ayrılma → B Teslim alma → B Ayrılma.getTrip()
veya Şunun içinonTripRemainingWaypointsUpdated
geri arama: A gezisiremainingWaypoints
tarihinde dönüyor şunları içeren:
Ayrılma.getTrip()
veya Şunun içinonTripRemainingWaypointsUpdated
geri arama: B gezisiremainingWaypoints
tarihinde dönüyor şunu içeren:
Ayrılma → B Teslim alma → ve B Ayrılma.