يصف هذا المستند كيفية إنشاء رحلة متتالية، وتعيين الحقول وتعيينها لمركبة لتنفيذها. من المفترض أنك أعددت Fleet محرّك Google، وقمت بإنشاء مركبات، والحصول على تطبيق سائق قيد التشغيل، اختياريًا، تطبيق المستهلك. ينبغي أن تكون على دراية بالرحلات المختلفة المتاحة للرحلات عند الطلب. اطّلِع على الأدلة التالية ذات الصلة حول الذي:
- إعداد Fleet Engine
- إنشاء مركبة
- سيناريوهات الرحلات في النظرة العامة على الرحلات عند الطلب
أساسيات إنشاء الرحلات
يصف هذا القسم تفاصيل الطلب اللازمة لإنشاء رحلة في Fleet Engine تصدر طلب إنشاء باستخدام gRPC وREST.
حقول الرحلة
استخدِم الحقول التالية لإنشاء رحلة في Fleet Engine. يمكنك استخدام لأنواع الرحلات المختلفة: وجهة واحدة أو وجهة متعددة رحلات متتابعة أو رحلات تجميعية مشتركة. إِنْتَ يمكنك توفير الحقول الاختيارية عند إنشاء الرحلة، أو يمكنك ضبطها لاحقًا عند تحديث الرحلة.
الاسم | مطلوب؟ | الوصف |
---|---|---|
أحد الوالدَين | نعم | سلسلة تحتوي على رقم تعريف المشروع يجب أن يكون رقم التعريف هذا هو نفسه المستخدَم. عبر عملية دمج Fleet Engine بالكامل باستخدام حساب الخدمة نفسه الأدوار. |
trip_id | نعم | سلسلة تُنشئها وتُعرِّف هذه الرحلة بشكلٍ فريد تتضمّن معرّفات الرحلات بقيود معينة، كما هو موضح في المرجع. |
trip_type | نعم | اضبط TripType على القيم التالية لنوع الرحلة التي تريد إنشاؤها:
|
pickup_point | نعم | نقطة المنشأ للرحلة |
الوجهات المتوسطة المستوى | نعم | الرحلات متعددة الوجهات فقط: قائمة الوجهات المتوسطة التي يزورها السائق
للاستلام والتسليم. وكما هو الحال مع |
vehicle_waypoints | نعم | رحلات التجميع المشترك فقط: يتيح هذا الحقل دمج نقاط الطريق من رحلات متعددة.
ويحتوي على جميع نقاط الطريق المتبقية للمركبة المخصصة
كنقاط طريق الاستلام والتوصيل لهذه الرحلة. يمكنك ضبط هذا الحقل
من خلال الاتصال بالرقم |
number_of_passengers | لا | عدد الركاب على الرحلة. |
dropoff_point | لا | وجهة الرحلة. |
vehicle_id | لا | رقم تعريف المركبة المخصّصة للرحلة. |
مثال: إنشاء رحلة متتالية
يوضح ما يلي كيفية إنشاء رحلة متتابعة وتعيينها إلى المركبة. في هذا السيناريو، يكون إنشاء رحلة مماثلاً لإنشاء وجهة واحدة تخييم. ولا تتمكن بعد ذلك إلا من إنشاء رحلة أخرى وتعيينها لمركبة برحلة نشطة بالفعل.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
تعديل الرحلات المتتالية
عند تعيين مركبة لرحلة متتالية، يمكنك تعيين رحلة حتى لو تم تخصيص واحدة لها بالفعل.
يجب تخصيص أي رحلة تم إنشاؤها في Fleet Engine لمركبة من أجل Fleet Engine لاحتساب الوقت المقدّر للوصول وتتبّع الرحلات الجوية يمكنك القيام بذلك إما أثناء إنشاء الرحلة أو لاحقًا عند تعديل الرحلة
بعد تحديد الرحلة إلى مركبة، يضيف Fleet Engine تلقائيًا
نقاط الطرق المرتبطة بالرحلات المتتابعة إلى نقاط طريق المركبة
. يحتوي حقل remainingWaypoints
للرحلة على قائمة بجميع
نقاط الطرق، بما في ذلك تلك الواردة من الرحلات الأخرى التي ستتم زيارتها قبل
موعد انطلاق الرحلة.
على سبيل المثال، يمكنك التفكير في رحلتين متتاليتين: الرحلة أ والرحلة ب. التقطت المركبة المستهلك للرحلة (أ)، وأثناء طريقك إلى مكان التسليم الموقع، يتلقى السائق طلبًا باستلام مستهلك آخر الرحلة التالية، الرحلة ب.
- يؤدي الاتصال بالرقم
getVehicle()
إلى إرجاعremainingWaypoints
. التي تحتوي على:
الانسحاب → ب استلام الطلب → ب الانسحاب: - إما
getTrip()
أو معاودة الاتصالonTripRemainingWaypointsUpdated
لـ الرحلة أ تُرجعremainingWaypoints
التي تحتوي على:
الانسحاب: - إما
getTrip()
أو معاودة الاتصالonTripRemainingWaypointsUpdated
لـ إرجاع الرحلة بremainingWaypoints
التي تحتوي على:
الانسحاب ← ب استلام الطلب → وب المغادرة.