เรียกดูข้อมูลการเดินทางจาก Fleet Engine โดยตรง

คู่มือนี้แสดงวิธีเรียกข้อมูลการเดินทางโดยตรงจาก Fleet Engine ในฐานะ นอกเหนือจากการใช้ Consumer SDK คุณสามารถใช้วิธีนี้เพื่อ ควบคุมประสบการณ์ของผู้ใช้ปลายทางในขณะที่ยังคงใช้ประโยชน์จาก Fleet ตำแหน่งของรถ เวลาถึงโดยประมาณ และการกำหนดเส้นทางที่ถูกต้องและเป็นแบบเรียลไทม์ของเครื่องยนต์

โปรดดูรายละเอียดเกี่ยวกับการใช้ SDK ของผู้บริโภคที่หัวข้อแชร์เส้นทางสําหรับออนดีมานด์ การเดินทาง

ดึงข้อมูลการเดินทาง

โทรหา GetTrip เพื่อดึงข้อมูลการเดินทางจาก Fleet Engine โดยตรง โดยระบุมุมมอง JOURNEY_SHARING_V1S ดูข้อมูลอ้างอิงสำหรับ RPC หรือ พัก

โดยทั่วไปเซิร์ฟเวอร์ของคุณจะสำรวจบริการการเดินทางเพื่อดูสถานะของการเดินทางแต่ละครั้ง ขณะที่คนขับตรวจสอบความคืบหน้าของรถอยู่เสมอ ตำแหน่งของรถ โดยปกติการอัปเดตจะเกิดขึ้นทุก 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 เพื่อใส่ข้อมูลที่อัปเดตแล้วในจุดอ้างอิงที่เหลือ [0] TripWaypoint ในมุมมองอื่นๆ ที่ไม่ใช่มุมมองการแชร์เส้นทาง จุดอ้างอิงดังกล่าวจะไม่ จะแสดงถึงตำแหน่งล่าสุดของรถยนต์ที่มอบหมาย โปรดดู ข้อมูลอ้างอิงสำหรับ RPC หรือ REST

สำหรับข้อมูลเพิ่มเติม โปรดดูที่สถานะการเดินทางและจุดอ้างอิงที่เหลือของยานพาหนะใน คู่มือข้อมูลเบื้องต้นเกี่ยวกับการเดินทาง

ต่อไปนี้คือตัวอย่างของฟิลด์ remaining_waypoints สำหรับการเดินทาง A

[0] location.point = Trip.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = ละติจูด/ลองจิจูด[] ละติจูดและลองจิจูดแรกจากเส้นทางที่เหลือไปยังจุดรับ
ละติจูดและลองจิจูดที่ 2 จากเส้นทางที่เหลือไปยังจุดรับ
...
ละติจูดและลองจิจูดสุดท้ายจากเส้นทางที่เหลือไปยังการรับสินค้า
จุดรับสินค้า [pickup_point] หากไม่ใช่รายการแรก
traffic_data
ระยะทาง_มาตรวัด = ระยะทางจากพาหนะ_location ปัจจุบันตาม path_to_waypoint ถึงจุดรับ
eta = เวลาถึงโดยประมาณที่อัปเดต
ระยะเวลา = ระยะเวลาที่อัปเดต
[1] location.point = Trip.dropoff_point.point
Trip_id = "trip_A"
Wapoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = ละติจูด/ลองจิจูด[] ละติจูดและลองจิจูดแรกจากจุดส่ง
ละติจูดและลองจิจูดที่ 2 จากจุดส่ง
...
ละติจูดและลองจิจูดสุดท้ายของวันที่ส่ง
จุดส่ง [Dropoff_point] หากไม่ใช่จุดสุดท้าย
traffic_data
ระยะทาง_เมตร = ระยะทางจากจุดรับตาม path_to_waypoint ถึงจุดส่ง
eta = เวลาถึงโดยประมาณที่อัปเดต
ระยะเวลา = ระยะเวลาในการออกจากไซต์

รายการนี้อาจมีจุดอ้างอิงหากมีการเดินทางแบบต่อเนื่องหรือแบบแชร์ร่วมกัน จากการเดินทางอื่นๆ จะต้องถูกข้ามผ่านก่อนการเดินทางนี้ ตัวอย่างเช่น ลองพิจารณา สถานการณ์ที่กําหนดการเดินทาง B ให้กับยานพาหนะเดียวกันกับการเดินทาง A ระบบจะป้อนข้อมูลในช่อง remaining_waypoints ของทริป A ดังนี้ ละฟิลด์ส่วนใหญ่เพื่อความกระชับ แต่จะ ได้รับการป้อนข้อมูลให้สอดคล้องกับตัวอย่างก่อนหน้านี้

[0] Trip_id = "trip_A"
Wapoint_type = PICKUP_WAYPOINT_TYPE
[1] Trip_id = "trip_B"
Wapoint_type = PICKUP_WAYPOINT_TYPE
[2] Trip_id = "trip_B"
Wapoint_type = DROP_OFF_WAYPOINT_TYPE
[3] Trip_id = "trip_A"
Wapoint_type = DROP_OFF_WAYPOINT_TYPE

ระบบจะป้อนข้อมูลในช่อง remaining_waypoint ของการเดินทาง B ในลักษณะคล้ายกัน แต่จะมีเฉพาะข้อมูล ระบบจะแสดง 3 รายการแรก เนื่องจากจุดออกของการเดินทาง A ไม่ได้เป็นส่วนหนึ่งของ ของการเดินทาง B