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