אחזור נתוני נסיעה ישירות מ-Flet Engine

במדריך הזה תלמדו איך לאחזר נתוני נסיעה ישירות מ-Fleet Engine, חלופה לשימוש ב-SDK לצרכן. אפשר להשתמש בגישה הזאת שליטה בחוויית משתמש הקצה תוך ניצול היתרונות של Fleet מיקום הרכב, זמן ההגעה המשוער ותכנון המסלול המדויקים של המנוע בזמן אמת.

לפרטים על השימוש ב-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 כדי להכניס מידע מעודכן ל-נשארים_waypoints[0] TripWaypoint בתצוגות אחרות, שאינן של שיתוף נסיעה, ציון הדרך הזה בדרך כלל משקפים את המיקום העדכני של הרכב המוקצה. לצפייה הפניה ל-RPC או ל-REST.

מידע נוסף זמין בקטע סטטוס הנסיעה ונקודות הדרך שנותרו לרכב במדריך מבוא לנסיעות.

הנה דוגמה לשדה remaining_waypoints של נסיעה, נסיעה א':

[0] location.point = tri.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = LatLng[] קו הרוחב והאורך הראשון מהנתיב שנותר לאיסוף
LatLng השני מהנתיב שנותר לאיסוף
...
LatLng האחרון מהנתיב שנותר עד האיסוף
נקודת איסוף (pickup_point), אם היא שונה מקודמת
traffic_data
length_meters = המרחק מ-vehicle_location (מיקום הרכב הנוכחי) הנוכחי path_to_waypoint עד האיסוף
eta = זמן הגעה משוער מעודכן
משך הזמן = משך הזמן המעודכן
[1] location.point = Tri.dropoff_point.point
Tri_id = "trip_A"
Placepoint_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = LatLng[] LatLng הראשון מקטע הסיום
קו הרוחב והאורך השניים מהקטע של הורדת הנוסע
...
LatLng האחרון מקטע הפסקה
dropoff_point, אם הוא שונה מהנקודה האחרונה
traffic_data
result_Meters = המרחק מהאיסוף לאורך path_to_waypoint עד לנקודת ההורדה
eta = זמן הגעה משוער מעודכן
משך הזמן = משך הזמן של העזיבה

ברשימה הזו עשויות להופיע ציוני דרך במסגרת נסיעות לאחור ובעבודה משותפת מנסיעות אחרות לפני המסע הזה. לדוגמה, כדאי לחשוב על התרחיש שבו נסיעה ב' מוקצית לאותו כלי רכב כמו נסיעה א'. לאחר מכן, השדה remaining_waypoints לנסיעה א' יאוכלס באופן הבא. רוב השדות הושמטו מטעמי תמציתיות, אבל הם הושמטו מאוכלסים בהתאם לדוגמה הקודמת.

[0] Tri_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
[1] Tri_id = "trip_B"
weekpoint_type = PICKUP_WAYPOINT_TYPE
[2] Tri_id = "trip_B"
Placepoint_type = DROP_OFF_WAYPOINT_TYPE
[3] trip_id = "trip_A"
Placepoint_type = DROP_OFF_WAYPOINT_TYPE

השדה remaining_waypoint של נסיעה ב' יאוכלס באופן דומה, אבל רק שלוש הרשומות הראשונות יופיעו, מכיוון שנקודת ההורדה של נסיעה א' אינה חלק של מסלול נסיעה ב'.