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

คู่มือนี้จะแสดงวิธีเรียกข้อมูลการเดินทางจาก 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 ใส่ข้อมูลที่อัปเดตแล้วในจุดอ้างอิงที่เหลือ[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 = ละติจูด/ลองจิจูด[] LatLng แรกจากเส้นทางที่เหลือไปยังจุดรับสินค้า
LatLng ที่ 2 จากเส้นทางที่เหลือไปยังจุดรับสินค้า
...
ละติจูดและลองจิจูดสุดท้ายจากเส้นทางที่เหลือไปยังการรับสินค้า
pickup_point หากแตกต่างจากรายการล่าสุด
traffic_data
distance_meters = ระยะทางจาก vehicle_location ปัจจุบันไปตาม path_to_waypoint ไปยังจุดรับสินค้า
eta = เวลาถึงโดยประมาณที่อัปเดต
ระยะเวลา = ระยะเวลาที่อัปเดต
[1] location.point = trip.dropoff_point.point
Trip_id = "trip_A"
waypoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] ละติจูดและลองจิจูดแรกจากจุดส่ง
ละติจูดและลองจิจูดที่ 2 จากจุดส่ง
...
LatLng ล่าสุดจากช่วงส่งผู้โดยสาร
จุดส่ง [Dropoff_point] หากไม่ใช่จุดสุดท้าย
traffic_data
distance_meters = ระยะทางจากจุดรับตาม path_to_waypoint ไปยังจุดส่ง
eta = เวลาถึงโดยประมาณที่อัปเดต
ระยะเวลา = ระยะเวลาของขาที่ส่ง

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

[0] trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
[1] trip_id = "trip_B"
Wapoint_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 ของการเดินทาง ข. ในลักษณะเดียวกัน แต่จะมีเฉพาะรายการ 3 รายการแรกเท่านั้น เนื่องจากจุดส่งผู้โดยสารของการเดินทาง ก. ไม่ได้อยู่ในเส้นทางของการเดินทาง ข.