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