این راهنما نشان میدهد که چگونه دادههای سفر را مستقیماً از Fleet Engine بازیابی کنید، بهعنوان جایگزینی برای استفاده از Consumer SDK. میتوانید از این رویکرد برای کنترل بیشتر بر تجربه کاربر نهایی خود استفاده کنید و درعینحال از مکان دقیق و همزمان خودرو، زمان تخمینی رسیدن، و مسیریابی «موتور ناوگان» بهرهمند شوید.
برای جزئیات استفاده از «کیت توسعه نرمافزار مصرفکننده»، همرسانی سفرها برای سفرهای درخواستمحور را ببینید.
بازیابی اطلاعات سفر
برای بازیابی اطلاعات سفر مستقیماً از Fleet Engine، روش GetTrip را فراخوانی کنید و نمای JOURNEY_SHARING_V1S را مشخص کنید. به مرجع RPC یا
REST مراجعه کنید.
معمولاً سرور شما وضعیت هر سفر را از سرویس سفر درخواست میکند
درحالیکه مسافر بهطور فعال پیشرفت خودرو را پایش میکند. بهروزرسانیهای مکان خودرو معمولاً هر ۱۰ ثانیه یکبار انجام میشود و سیستم شما باید با همان نرخ نظرسنجی کند. فیلد 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 |
|
بازیابی نقاطمسیر باقیمانده سفر
نهاد «سفر» حاوی فیلد تکرارشوندهای از نوع TripWaypoint است. این فیلد شامل همه ایستگاههای بین راهی است که خودرو باید بهترتیب قبلاز نقطه پیاده کردن نهایی این سفر طی کند. مشخص کردن نمای «همرسانی سفر» به
Fleet Engine میگوید اطلاعات بهروزرسانیشده را در remaining_waypoints[0]
TripWaypoint قرار دهد. در نماهای دیگر، غیر از «همرسانی سفر»، این نقطه بین راه معمولاً نشاندهنده آخرین موقعیت مکانی وسیله نقلیه اختصاصیافته نیست. مرجع
RPC یا REST را ببینید.
برای اطلاعات بیشتر، وضعیت سفر و ایستگاههای بین راهی باقیمانده وسیله نقلیه را در راهنمای مقدمهای بر سفرها ببینید.
در اینجا مثالی از فیلد remaining_waypoints برای یک سفر، «سفر الف»، آورده شده است:
| |||||||||||||||||||||
| |||||||||||||||||||||
با سفرهای پیدرپی و استخری مشترک، این فهرست ممکن است حاوی ایستگاههای بین راهی
از سفرهای دیگر باشد که باید قبلاز این سفر طی شوند. برای مثال، سناریویی را درنظر بگیرید که در آن «سفر ب» به همان خودرو «سفر الف» اختصاص داده شده است. سپس فیلد
remaining_waypoints برای «سفر الف» بهصورت زیر پر میشود.
بیشتر فیلدها برای خلاصه شدن حذف شدهاند، اما این فیلدها مطابق با مثال قبلی تکمیل میشوند.
| [۰] | trip_id = "trip_A" |
|---|---|
| waypoint_type = PICKUP_WAYPOINT_TYPE | |
| [۱] | trip_id = "trip_B" |
| waypoint_type = PICKUP_WAYPOINT_TYPE | |
| [۲] | trip_id = "trip_B" |
| waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
| [۳] | trip_id = "trip_A" |
| waypoint_type = DROP_OFF_WAYPOINT_TYPE |
فیلد remaining_waypoint «سفر B» بهطور مشابه تکمیل میشود، اما فقط سه ورودی اول وجود خواهد داشت، زیرا نقطه پیاده کردن «سفر A» بخشی از مسیر «سفر B» نیست.