Tek varış noktası içeren bir gezi oluşturun

Bu dokümanda tek bir varış noktasının nasıl oluşturulacağı açıklanmaktadır. ve doldurulması için bir araca atayın. Filoyu kurduğunuz varsayılır Araç oluşturduğunuzu, çalışan bir sürücü uygulamanız olduğunu ve isteğe bağlı olarak bir tüketici uygulaması. Bununla ilgili aşağıdaki kılavuzlara göz atın:

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.

  • CreateTrip() yöntemi: gRPC veya REST
  • CreateTripRequest mesajı: Yalnızca gRPC

Gezi 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.

Seyahat alanları
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 rolleriyle birlikte çalışır.
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:
  • Tek hedef: SHARED veya EXCLUSIVE olarak ayarlayın.
  • Çok hedef: EXCLUSIVE olarak ayarlayın.
  • Back-to-back: EXCLUSIVE değerine ayarlanır.
  • Shared Pooling (Paylaşılan havuz): SHARED olarak ayarlayın.
pickup_point Evet Yolculuğun kalkış noktası.
Orta seviye hedefler Evet

Yalnızca çok hedefli geziler: Sürücün arada ziyaret ettiği ara hedeflerin listesi yardımcı olur. dropoff_point olduğu gibi bu alan da daha sonra da ayarlanabilir ancak çok hedefli bir arama yapıldığında UpdateTrip tanımı gereği ara hedefler içerir.

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ı, CreateTrip veya UpdateTrip numaralı telefonu arayarak. Ayrıca transkriptinizi waypoints alanındaki araç ara noktalarını bir UpdateVehicle numaralı telefona sesli arama yapın. Hizmet GetTrip aramalarında bu bilgileri döndürmez izin verilebilir.

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: tek seferlik seyahat

Aşağıdaki örnekte, Grand Endonezya gezisinin nasıl oluşturulacağı gösterilmektedir East Mall'da var. Yolculuğun iki yolcusu var ve bu yolculuğa özel ve durumu: NEW Gezinin provider_id tarihi, Google Cloud ile aynı olmalıdır proje kimliği. Örnekler, proje kimliğine sahip bir Google Cloud projesini göstermektedir my-rideshare-co-gcp-project Bu projede bir hizmet hesabı da bulunmalıdır amacıyla Fleet Engine'i arayacağım. Ayrıntılar için Hizmet hesabı rolleri bölümüne bakın.

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

Sırada ne var?