توفر حزمة SDK الخاصة بالمستهلكين إمكانية جاهزة لتطبيقات المستهلك الخاصة بمشاركة الرحلات لعرض الموقع الجغرافي للمركبة التي تنقلهم في رحلتهم ومستوى تقدُّمها.
في المقابل، يريد بعض "مقدّمي خدمات مشاركة الرحلات" المزيد من التحكّم في تجربة المستخدم النهائية من خلال الدمج المرن، مع الاستفادة في الوقت نفسه من الموقع الجغرافي الدقيق للمركبات في الوقت الفعلي والوقت المقدر للوصول والمسار الذي توفّره Google. يوضّح لك هذا الدليل كيفية استرداد بيانات الرحلة مباشرةً من Fleet Engine، كبديل لاستخدام حزمة SDK الخاصة بالمستهلكين.
نظرة عامة
لاسترداد معلومات الرحلة من Fleet Engine مباشرةً، يمكنك استدعاء الطريقة GetTrip
،
مع تحديد طريقة العرض JOURNEY_ تصور_V1S
(RPC
|
REST).
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);
ستتم تعبئة الحقول التالية بأحدث المعلومات المتاحة للرحلة إلى كائن الرحلة (RPC | REST) الناتج:
name
vehicle_id
trip_status
trip_type
number_of_passengers
pickup_point
actual_pickup_point
pickup_time
intermediate_destinations
intermediate_destinations_version
intermediate_destination_index
dropoff_point
actual_dropoff_point
dropoff_time
remaining_waypoints
last_location
view
(== JOURNEY_ المُعلِن_V1S)
عادةً ما يقوم مقدمو خدمات مشاركة الرحلات باستطلاع آراء خدمة الرحلة لمعرفة حالة كل رحلة
كل ثانيتين إلى خمس ثوانٍ بينما يراقب الراكب بشكل نشط
تقدم المركبة. يتم عادةً تعديل الموقع الجغرافي للمركبة خلال فترة أطول،
مثل 10 ثوانٍ. يمكن مراقبة الحقل Trip.last_location.update_time
لمعرفة ما إذا كانت هناك أي تعديلات منذ المكالمة السابقة مع GetTrip
.
نقاط المسار للرحلة
يحتوي كيان الرحلة على حقل متكرّر من النوع TripWaypoint
(RPC
|
REST).
يتضمن هذا الحقل جميع نقاط الطرق التي ستحتاج المركبة إلى اجتيازها، بالترتيب، قبل نقطة التوقف النهائية لهذه الرحلة. يؤدّي تحديد طريقة عرض "مشاركة الرحلة"
إلى توجيه Fleet Engine إلى وضع المعلومات المعدّلة في "rearepoints_waypoints"[0]
TripWaypoint
. وفي طرق العرض الأخرى التي لا تمثّل "مشاركة الرحلة"، لا تعكس نقطة
الطريق هذه عادةً آخر موضع للمركبة المخصّصة.
في ما يلي مثال على الحقل "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
للرحلة "ب" بالطريقة نفسها، ولكن لن تظهر سوى الإدخالات الثلاثة الأولى، نظرًا لأن نقطة انطلاق الرحلة "أ" ليست جزءًا من مسار الرحلة "ب".