این راهنما به شما نشان میدهد که چگونه میتوانید دادههای سفر را مستقیماً از Fleet Engine، به عنوان جایگزینی برای استفاده از Consumer SDK، بازیابی کنید. میتوانید از این رویکرد برای کنترل بیشتر بر تجربه کاربر نهایی خود استفاده کنید و در عین حال از موقعیت مکانی دقیق و بلادرنگ خودرو، ETA و مسیریابی Fleet Engine بهرهمند شوید.
برای جزئیات بیشتر در مورد استفاده از 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 است. این فیلد شامل تمام نقاط مسیری است که وسیله نقلیه باید به ترتیب، قبل از نقطه تحویل نهایی این سفر، طی کند. مشخص کردن نمای Journey Sharing به Fleet Engine میگوید که اطلاعات بهروز شده را در remainder_waypoints[0] TripWaypoint قرار دهد. در سایر نماهای غیر Journey Sharing، آن نقطه مسیر معمولاً آخرین موقعیت وسیله نقلیه اختصاص داده شده را نشان نمیدهد. به مرجع RPC یا REST مراجعه کنید.
برای اطلاعات بیشتر، به وضعیت سفر و نقاط مسیر باقیمانده وسیله نقلیه در راهنمای مقدمهای بر سفرها مراجعه کنید.
در اینجا مثالی از فیلد remaining_waypoints برای یک سفر، سفر A، آورده شده است:
| |||||||||||||||||||||
| |||||||||||||||||||||
با سفرهای پشت سر هم و اشتراکی، این لیست ممکن است شامل نقاط مسیر از سفرهای دیگری باشد که باید قبل از این سفر طی شوند. برای مثال، سناریویی را در نظر بگیرید که سفر B به همان وسیله نقلیه سفر A اختصاص داده شده است. سپس فیلد remaining_waypoints برای سفر A به شرح زیر پر میشود. اکثر فیلدها برای اختصار حذف شدهاند، اما مطابق با مثال قبلی پر میشوند.
| [0] | شناسه سفر = "سفر_A" |
|---|---|
| waypoint_type = نوع مسیر برداشت | |
| [1] | شناسه سفر = "سفر_ب" |
| waypoint_type = نوع مسیر برداشت | |
| [2] | شناسه سفر = "سفر_ب" |
| نوع نقطه مسیر = نوع نقطه مسیر را حذف کنید | |
| [3] | شناسه سفر = "سفر_A" |
| نوع نقطه مسیر = نوع نقطه مسیر را حذف کنید |
فیلد remaining_waypoint سفر B نیز به طور مشابه پر میشود، اما فقط سه ورودی اول وجود خواهند داشت، زیرا نقطه پیاده شدن سفر A بخشی از مسیر سفر B نیست.