Bu belgede, tek hedefli bir gezi oluşturma, doğru alanları ayarlama ve bunu karşılanacak bir araca atama işlemleri açıklanmaktadır. Fleet Engine'i ayarladığınız, araç oluşturduğunuz, çalışan bir sürücü uygulamanız olduğu ve isteğe bağlı olarak bir tüketici uygulamanız olduğu varsayılır. Bunun için aşağıdaki ilgili kılavuzlara bakın:
Gezi oluşturmayla ilgili temel bilgiler
Bu bölümde, Fleet Engine'de gezi oluşturmak için gereken istek ayrıntıları açıklanmaktadır. gRPC ve REST'i kullanarak bir oluşturma isteği gönderirsiniz.
Seyahat Alanları
Fleet Engine'de seyahat oluşturmak için aşağıdaki alanları kullanın. Tek veya birden fazla varış noktası olan, arka arkaya ya da paylaşımlı yolculuklar gibi farklı türlerdeki yolculuklar için farklı alanlar kullanabilirsiniz. İsteğe bağlı alanları geziyi oluştururken sağlayabilir veya geziyi güncellerken daha sonra ayarlayabilirsiniz.
| Ad | Zorunlu mu? | Açıklama |
|---|---|---|
| parent | Evet | Proje kimliğini içeren bir dize. Bu kimlik, aynı hizmet hesabı rolleriyle birlikte tüm Fleet Engine entegrasyonunuzda kullanılan kimlikle aynı olmalıdır. |
| trip_id | Evet | Bu seyahati benzersiz şekilde tanımlayan bir dize oluşturursunuz. Seyahat kimlikleri, referansta belirtildiği gibi belirli kısıtlamalara tabidir. |
| trip_type | Evet | Oluşturduğunuz gezi türü için TripType'ı aşağıdaki değerlere ayarlayın:
|
| pickup_point | Evet | Gezinin başlangıç noktası. |
| Ara hedefler | Evet | Yalnızca çok varış noktalı yolculuklar: Sürücünün yolcu alma ve bırakma arasında ziyaret ettiği ara varış noktalarının listesi. |
| vehicle_waypoints | Evet | Yalnızca ortak yolculuklar: Bu alan, birden fazla yolculuktaki ara noktaların iç içe geçmesini destekler.
Atanan araçla ilgili kalan tüm ara noktaların yanı sıra bu seyahatin teslim alma ve bırakma ara noktalarını içerir. Bu alanı |
| number_of_passengers | Hayır | Gezideki yolcu sayısı. |
| dropoff_point | Hayır | Gezinin varış noktası. |
| vehicle_id | Hayır | Gezintiye atanan aracın kimliği. |
Örnek: tek varış noktalı gezi
Aşağıdaki örnekte, Grand Indonesia East Mall'a gezi oluşturma işlemi gösterilmektedir. Gezide iki yolcu var, gezi özel ve durumu NEW. Gezinin provider_id, Google Cloud proje kimliğiyle aynı olmalıdır. Örneklerde, proje kimliği my-rideshare-co-gcp-project olan bir Google Cloud projesi gösterilmektedir. Bu proje, Fleet Engine'i çağırmak için bir hizmet hesabı da içermelidir. Ayrıntılar için Hizmet hesabı rolleri başlıklı makaleyi inceleyin.
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;
}