این راهنما به شما نشان میدهد که چگونه دادههای سفر را مستقیماً از Fleet Engine بازیابی کنید، به عنوان جایگزینی برای استفاده از Consumer SDK. شما میتوانید از این رویکرد برای کنترل بیشتر بر تجربه کاربر نهایی خود استفاده کنید و در عین حال از موقعیت مکانی دقیق و بیدرنگ خودرو، ETA و مسیریابی Fleet Engine استفاده کنید.
برای جزئیات استفاده از Consumer SDK، به اشتراک گذاری سفرها برای سفرهای درخواستی مراجعه کنید.
بازیابی اطلاعات سفر
برای بازیابی مستقیم اطلاعات سفر از Fleet Engine، با مشخص کردن نمای JOURNEY_SHARING_V1S
، با روش GetTrip
تماس بگیرید. به مرجع 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 میگوید که اطلاعات بهروز شده را در resting_waypoints[0] TripWaypoint
قرار دهد. در نماهای دیگر، غیر اشتراک گذاری سفر، آن نقطه بین معمولاً آخرین موقعیت وسیله نقلیه تعیین شده را منعکس نمی کند. به مرجع RPC یا REST مراجعه کنید.
برای اطلاعات بیشتر، وضعیت سفر و نقاط بین راهی خودرو را در راهنمای مقدمه سفرها ببینید.
در اینجا نمونه ای از قسمت remaining_waypoints
برای یک سفر، سفر A آمده است:
| |||||||||||||||||||||
|
با سفرهای پشت سر هم و ادغام مشترک، این فهرست ممکن است حاوی نقاطی از سفرهای دیگر باشد که قبل از این سفر باید از آنها عبور کرد. به عنوان مثال، سناریویی را در نظر بگیرید که در آن سفر B به همان وسیله نقلیه سفر A اختصاص داده می شود. قسمت remaining_waypoints
برای سفر A به صورت زیر پر می شود. بیشتر فیلدها به دلیل مختصر بودن حذف شده اند، اما مطابق با مثال قبلی پر می شوند.
[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
سفر B به طور مشابه پر می شود، اما فقط سه ورودی اول وجود خواهند داشت، زیرا نقطه خروج سفر A بخشی از مسیر سفر B نیست.