Consumer SDK memberikan kemampuan siap pakai untuk aplikasi konsumen transportasi online guna menampilkan lokasi dan progres kendaraan yang membawa mereka dalam perjalanan.
Namun, beberapa Penyedia Transportasi Online menginginkan lebih banyak kontrol atas pengalaman pelanggan akhir mereka dengan integrasi yang fleksibel, sambil tetap memanfaatkan lokasi, PWT, dan rute kendaraan yang akurat dan real-time dari Google. Panduan ini menunjukkan cara mengambil data perjalanan langsung dari Fleet Engine, sebagai alternatif penggunaan SDK Konsumen.
Ringkasan
Untuk mengambil informasi perjalanan dari Fleet Engine secara langsung, panggil metode GetTrip
, dengan menentukan tampilan JOURNEY_Sharing_V1S
(RPC
|
REST).
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
Objek Perjalanan (RPC | REST) yang dihasilkan akan memiliki kolom berikut yang terisi informasi terbaru yang tersedia untuk Perjalanan:
name
vehicle_id
trip_status
trip_type
number_of_passengers
pickup_point
actual_pickup_point
pickup_time
intermediate_destinations
intermediate_destinations_version
intermediate_destination_index
dropoff_point
actual_dropoff_point
dropoff_time
remaining_waypoints
last_location
view
(== JOURNEY_Sharing_V1S)
Penyedia transportasi online biasanya memeriksa layanan perjalanan untuk mengetahui status setiap perjalanan setiap dua hingga lima detik saat penumpang secara aktif memantau progres kendaraan. Pembaruan lokasi kendaraan biasanya pada interval yang lebih lama, seperti
10 detik. Kolom Trip.last_location.update_time
dapat dipantau untuk melihat apakah ada pembaruan sejak panggilan sebelumnya ke GetTrip
.
Titik jalan perjalanan
Entity Trip berisi kolom berulang jenis TripWaypoint
(RPC | REST).
Kolom ini menyertakan semua titik jalan yang harus dilalui kendaraan, secara berurutan, sebelum titik pengantaran terakhir dalam perjalanan ini. Menentukan tampilan Berbagi Perjalanan akan memberi tahu Fleet Engine untuk memasukkan informasi yang telah diperbarui di dataset_titik jalan[0]
TripWaypoint
. Pada tampilan non-Journey Sharing lainnya, titik jalan tersebut biasanya tidak mencerminkan posisi terbaru kendaraan yang ditetapkan.
Berikut adalah contoh kolom remaining_waypoints
Perjalanan A:
| |||||||||||||||||||||
|
Dengan perjalanan back-to-back dan bersama (nebeng), daftar ini dapat berisi titik jalan
dari perjalanan lain yang akan dilalui selama perjalanan ini. Misalnya, pertimbangkan
skenario saat Perjalanan B ditetapkan ke kendaraan yang sama dengan Perjalanan A. Kolom
remaining_waypoints
untuk Perjalanan A kemudian akan diisi sebagai berikut.
(Sebagian besar kolom telah dihilangkan agar lebih ringkas, tetapi akan
diisi sesuai dengan contoh sebelumnya.)
[0] | trip_id = "trip_A" |
---|---|
jenis titik jalan = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
jenis titik jalan = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
jenis titik jalan = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
jenis titik jalan = DROP_OFF_WAYPOINT_TYPE |
Kolom remaining_waypoint
Perjalanan B akan diisi dengan cara yang sama, tetapi hanya tiga entri pertama yang akan ada, karena titik penurunan Perjalanan A bukan bagian dari rute Perjalanan B.