داده های سفر را مستقیماً از Fleet Engine بازیابی کنید

این راهنما به شما نشان می‌دهد که چگونه می‌توانید داده‌های سفر را مستقیماً از 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، آورده شده است:

[0] location.point = trip.pickup_point.point
trip_id = "سفر_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = طول مسیر[] اولین LatLng از مسیر باقیمانده تا برداشت
دومین LatLng از مسیر باقیمانده تا برداشت
...
آخرین LatLng از مسیر باقی مانده تا برداشت
pickup_point، اگر با آخرین مورد متفاوت باشد
داده‌های_ترافیک
distance_meters = فاصله از موقعیت فعلی وسیله نقلیه در امتداد مسیر تا نقطه مسیر تا زمان تحویل گرفتن
eta = زمان تقریبی به روز شده
مدت زمان = مدت زمان به‌روزرسانی‌شده
[1] location.point = trip.dropoff_point.point
شناسه سفر = "سفر_A"
نوع نقطه مسیر = نوع نقطه مسیر را حذف کنید
path_to_waypoint = طول مسیر[] اولین لت از پای دراپ آف
دومین لت از پای دراپ آف
...
آخرین LatLng از پای دراپ‌آف
dropoff_point، اگر با آخرین مورد متفاوت باشد
داده‌های_ترافیک
distance_meters = فاصله از محل تحویل در امتداد path_to_waypoint تا محل تحویل
eta = زمان تقریبی به روز شده
مدت زمان = مدت زمان مرحله فرود

با سفرهای پشت سر هم و اشتراکی، این لیست ممکن است شامل نقاط مسیر از سفرهای دیگری باشد که باید قبل از این سفر طی شوند. برای مثال، سناریویی را در نظر بگیرید که سفر B به همان وسیله نقلیه سفر A اختصاص داده شده است. سپس فیلد remaining_waypoints برای سفر A به شرح زیر پر می‌شود. اکثر فیلدها برای اختصار حذف شده‌اند، اما مطابق با مثال قبلی پر می‌شوند.

[0] شناسه سفر = "سفر_A"
waypoint_type = نوع مسیر برداشت
[1] شناسه سفر = "سفر_ب"
waypoint_type = نوع مسیر برداشت
[2] شناسه سفر = "سفر_ب"
نوع نقطه مسیر = نوع نقطه مسیر را حذف کنید
[3] شناسه سفر = "سفر_A"
نوع نقطه مسیر = نوع نقطه مسیر را حذف کنید

فیلد remaining_waypoint سفر B نیز به طور مشابه پر می‌شود، اما فقط سه ورودی اول وجود خواهند داشت، زیرا نقطه پیاده شدن سفر A بخشی از مسیر سفر B نیست.