คู่มือนี้จะแสดงวิธีดึงข้อมูลการเดินทางจาก 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