คู่มือนี้จะแสดงวิธีดึงข้อมูลการเดินทางจาก 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 สำหรับการเดินทาง ทริป ก.
| |||||||||||||||||||||
| |||||||||||||||||||||
เมื่อมีการเดินทางแบบต่อเนื่องและแบบร่วมกัน รายการนี้อาจมีจุดอ้างอิงจากการเดินทางอื่นๆ ที่ต้องผ่านก่อนการเดินทางนี้ ตัวอย่างเช่น ลองพิจารณาสถานการณ์ที่กำหนดการเดินทาง ข ให้กับยานพาหนะคันเดียวกับการเดินทาง ก จากนั้นระบบจะป้อนข้อมูลในช่อง remaining_waypoints สำหรับการเดินทาง A ดังนี้
เราได้ละเว้นช่องส่วนใหญ่ไว้เพื่อความกระชับ แต่ช่องเหล่านั้นจะได้รับการป้อนข้อมูลให้สอดคล้องกับตัวอย่างก่อนหน้า
| [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