Panduan ini menunjukkan cara mengambil data perjalanan langsung dari Fleet Engine, sebagai sebagai alternatif penggunaan Consumer SDK. Anda dapat menggunakan pendekatan ini untuk mengontrol pengalaman pengguna akhir Anda sambil tetap memanfaatkan Fleet Lokasi kendaraan, PWT, dan pemilihan rute yang akurat dan real-time mesin.
Untuk mengetahui detail tentang cara menggunakan Consumer SDK, lihat Membagikan perjalanan untuk on-demand perjalanan.
Mengambil informasi perjalanan
Untuk mengambil informasi perjalanan dari Fleet Engine secara langsung, panggil GetTrip
, dengan menetapkan tampilan JOURNEY_SHARING_V1S
. Lihat referensi untuk RPC atau
REST.
Server Anda biasanya akan memeriksa layanan perjalanan untuk mengetahui status setiap perjalanan
saat penumpang secara aktif memantau progres kendaraan. Lokasi kendaraan
pembaruan biasanya terjadi setiap 10 detik
dan sistem Anda akan memeriksa
rasio yang sama. Kolom Trip.last_location.update_time
dapat dipantau untuk melihat apakah
ada pembaruan sejak panggilan sebelumnya ke GetTrip
.
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 Trip
yang dihasilkan memiliki kolom berikut yang telah diisi dengan
informasi yang tersedia untuk perjalanan:
name |
trip_status |
remaining_waypoints |
vehicle_id |
trip_type |
last_location |
number_of_passengers |
pickup_point |
view (== JOURNEY_SHARING_V1S) |
actual_pickup_point |
intermediate_destinations |
intermediate_destination_index |
pickup_time |
intermediate_destinations_version |
dropoff_point |
actual_dropoff_point |
dropoff_time |
|
Mengambil titik jalan perjalanan yang tersisa
Entitas Perjalanan berisi kolom berulang dengan jenis TripWaypoint
Kolom ini
berisi semua titik jalan yang perlu dilalui kendaraan, secara berurutan, sebelum
titik perhentian terakhir dalam perjalanan ini. Menentukan tampilan Berbagi Perjalanan akan memberi tahu
Fleet Engine untuk memasukkan informasi terbaru di remaining_waypoints[0]
TripWaypoint
. Dalam tampilan lain, {i>non-Journey Sharing<i}, titik jalan itu tidak
biasanya mencerminkan posisi terakhir
dari kendaraan yang ditugaskan. Lihat
untuk RPC atau REST.
Untuk informasi selengkapnya, lihat Status perjalanan dan titik jalan kendaraan yang tersisa di panduan Pengantar perjalanan.
Berikut adalah contoh kolom remaining_waypoints
untuk perjalanan, Perjalanan A:
| |||||||||||||||||||||
|
Dengan perjalanan gabungan berturut-turut dan bersama, daftar ini dapat berisi titik jalan
dari perjalanan lain yang harus
dilintasi sebelum perjalanan ini. Misalnya, pertimbangkan
skenario saat Perjalanan B ditetapkan ke kendaraan yang sama dengan Perjalanan A. Tujuan
Kolom remaining_waypoints
untuk Perjalanan A kemudian akan diisi sebagai berikut.
Sebagian besar {i>field<i} telah dihilangkan agar lebih ringkas, tetapi akan
yang diisi sesuai dengan contoh sebelumnya.
[0] | trip_id = "trip_A" |
---|---|
titik jalan_type = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
titik jalan_type = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
titik jalan_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
titik jalan_type = DROP_OFF_WAYPOINT_TYPE |
Kolom remaining_waypoint
Perjalanan B akan diisi dengan cara serupa, tetapi hanya kolom
tiga entri pertama akan ada, karena titik {i>drop-off<i} Perjalanan A bukan bagian
dari rute Perjalanan B.