Consumer SDK มอบความสามารถแบบครบวงจรสำหรับแอปผู้บริโภคที่ใช้บริการร่วมเดินทางในการแสดงตำแหน่งและความคืบหน้าของรถที่จะพาไปในเส้นทาง
อย่างไรก็ตาม ผู้ให้บริการ Rideshare บางรายต้องการควบคุมประสบการณ์ของลูกค้าของผู้ใช้ปลายทางมากยิ่งขึ้นด้วยการผสานรวมที่ยืดหยุ่น ในขณะที่ยังคงใช้ประโยชน์จากตำแหน่งรถ เวลาถึงโดยประมาณ และเส้นทางที่แม่นยำแบบเรียลไทม์ของ Google คู่มือนี้จะแสดงวิธีดึงข้อมูลการเดินทางโดยตรงจาก Fleet Engine โดยเป็นอีกทางเลือกหนึ่งของการใช้ Consumer SDK
ภาพรวม
หากต้องการเรียกดูข้อมูลการเดินทางจาก Fleet Engine โดยตรง ให้เรียกใช้เมธอด GetTrip
โดยระบุมุมมอง 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);
ออบเจ็กต์ Trip (RPC | REST) ที่ได้จะมีช่องต่อไปนี้พร้อมข้อมูล ที่มีล่าสุดสำหรับทริป
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)
โดยทั่วไปผู้ให้บริการบริการร่วมเดินทางจะสำรวจบริการการเดินทางเพื่อดูสถานะของการเดินทางแต่ละครั้ง ทุกๆ 2-5 วินาทีในขณะที่ไรเดอร์ตรวจสอบความคืบหน้าของรถอยู่ การอัปเดตตำแหน่งของรถมักจะใช้เวลานานกว่าปกติ เช่น 10 วินาที คุณตรวจสอบฟิลด์ Trip.last_location.update_time
ได้เพื่อดูว่ามีการอัปเดตใดๆ นับตั้งแต่การเรียก GetTrip
ก่อนหน้านี้หรือไม่
จุดอ้างอิงสำหรับการเดินทาง
เอนทิตีการเดินทางมีช่องที่ซ้ำประเภท TripWaypoint
(RPC
|
REST)
ช่องนี้จะมีจุดอ้างอิงทั้งหมดที่ยานพาหนะจะต้องเดินทาง โดยเรียงตามลำดับก่อนจุดส่งสุดท้ายของการเดินทางนี้ การระบุมุมมองการแชร์เส้นทางจะบอกให้ Fleet Engine ใส่ข้อมูลที่อัปเดตใน allowed_waypoints[0]
TripWaypoint
ในมุมมองอื่นๆ ที่ไม่ใช่การแชร์เส้นทาง จุดอ้างอิงนั้นมักไม่ได้แสดงตำแหน่งล่าสุดของยานพาหนะที่กำหนดไว้
ต่อไปนี้คือตัวอย่างช่อง remaining_waypoints
ของการเดินทาง A
| |||||||||||||||||||||
|
สำหรับการเดินทางแบบไปกลับ/ร่วมเดินทาง (การโดยสารรถร่วมกัน) รายการนี้อาจมีจุดอ้างอิงจากการเดินทางอื่นๆ ที่จะข้ามผ่านในระหว่างการเดินทางนี้ เช่น ลองพิจารณาสถานการณ์ที่มีการกำหนดการเดินทาง B ให้กับยานพาหนะเดียวกันกับการเดินทาง A ช่อง remaining_waypoints
สำหรับการเดินทาง A จะมีค่าดังนี้
(ระบบละช่องส่วนใหญ่เพื่อความกระชับ แต่ระบบจะป้อนข้อมูลตามตัวอย่างก่อนหน้านี้)
[0] | Tri_id = "trip_A" |
---|---|
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | Tri_id = "trip_B" |
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | Tri_id = "trip_B" |
Waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | Tri_id = "trip_A" |
Waypoint_type = DROP_OFF_WAYPOINT_TYPE |
ระบบจะป้อนข้อมูลในช่อง remaining_waypoint
ของการเดินทาง B ในลักษณะเดียวกัน แต่จะแสดงเฉพาะ 3 รายการแรกเท่านั้น เนื่องจากจุดส่งของทริป A ไม่ได้อยู่ในเส้นทางของทริป B