في بعض الأحيان، قد ترغب في تخطيط المسار الذي يوفره تطبيقك للمستخدمين. استخدام يمكن أن يساعدك الرمز المميّز للمسار من واجهة برمجة تطبيقات Routes API (أو واجهة برمجة التطبيقات Routes Preferred API) في تحديد شيئين للمسار المخطط له:
خطوط متعددة للمسار
أهداف المسار
على سبيل المثال، فيما يلي بعض الأمثلة لأهداف التوجيه التي قد تكون لديك:
تقليل الوقت اللازم للتسليم: قد يحتاج نشاط تجاري يقدم الطعام إلى تقليل الوقت المستغرق لتوصيل الطعام.
تقليل وقت السفر أو استهلاك الوقود: قد يرغب نشاط تجاري مختصّ في الخدمات اللوجستية في تحسين كفاءة السائقين وخفض تكاليف الوقود.
تقليل الوقت إلى الوجهة: قد تحتاج عملية إرسال الخدمة إلى إلى تقليل الوقت الذي يستغرقه المشغلون في طلب الوظيفة.
خفض التكاليف وتحسين مستوى الأمان: قد يرغب النشاط التجاري الذي يقدّم خدمات مشاركة الرحلات في العثور على مسار تكلفته أقل للركاب ويتجنب مناطق معينة للحفاظ على السلامة الأسباب.
لمزيد من المعلومات حول تخطيط مسار باستخدام رمز مميز للمسار، راجع طلب رمز مميّز للمسار
أسباب استخدام رمز طريق مميز لأهداف المسار
باستخدام رمز مميز للمسار من واجهة برمجة التطبيقات المفضلة للمسارات أو المسارات، يمكنك الحصول على المزيد التحكم في المسار المقدم:
التخطيط لمسار مسبقًا حتى تستخدمه "حزمة SDK الخاصة بالتنقّل" متى أمكن.
اختَر أفضل مسار لاستخدام حزمة تطوير البرامج (SDK) للتنقل. إذا طلبت رموزًا مميّزة للمسار عند إنشاء المسارات في Routes API، تحصل على رمز مسار لكل مسار يتم إنشاؤه. يمكنك بعد ذلك اختيار الرمز للمسار الذي تريد استخدامه عند تمريره إلى حزمة SDK للتنقّل
تقدير السعر مسبقًا، بما في ذلك تقديرات الوقت المقدّر للوصول والمسافة. في حين أن التكلفة الفعلية والوقت قد يختلفان، فإن هذا التقدير يقلل الفجوة بين تكلفة المسار المتوقعة والفعلية.
تحديد أهداف المسار الأكثر تقدمًا، مثل التوجيه البيئي أو الأقصر المسار الصحيح.
آلية عمل الرموز المميّزة للمسار في Routes API
يمكنك استخدام Routes API أو Routes Preferred API لتخطيط مسار باستخدام أهداف المسار. تعرض Routes API رمز المسار الذي يمكنك تمريره إلى حزمة تطوير البرامج (SDK) للتنقل لإرشادك إلى كيفية تنفيذ ذلك يقوم بمسارات مركبتك.
إليك ما يحدث عند طلب رمز مميز للمسار واستخدامه من واجهة برمجة تطبيقات المسارات:
تعرض Routes API رمزًا مميّزًا للمسار مشفّرًا يتضمّن المسار. والخطوط المتعددة وأهداف المسار.
يمكنك تمرير الرمز المميّز للمسار إلى حزمة تطوير البرامج (SDK) للتنقل.
تسترد حزمة SDK للتنقل المسار، أو إذا لم يكن المسار متاحة بسبب الظروف المتغيرة، فإنها تسترد أفضل مطابقة المسار الصحيح.
أثناء القيادة في حالة تغيير حركة المرور أو أحوال الطرق الأخرى أو إذا تنحرف مركبة عن المسار المخطط له، فإن المسارات المعدلة باستمرار تحاول مطابقة أفضل مسار بناءً على أهداف المسار في الرمز المميز.
وتزيد هذه العملية من مدى قرب المسار الفعلي من المسار المخطط له.
سبب عدم اتباع المسار المخطط له بدقة
فكر في مسارك المخطط وأهدافه كإرشادات يجب اتباعها: ليست إلزامية. قد تلاحظ فرقًا بين المسار المخطط له المسار المقدَّم من خلال ميزة التنقُّل الإرشادي بسبب الاختلافات في الطريق أو موقع البدء أو المعلمات الأخرى التي تغيرت منذ وأنشأت المسار المخطط له. وقد ينتج عن هذا الاختلاف عدم تطابق بين أهدافك المخططة والفعلية للمسافة والوقت المقدر للوصول، إلى جانب رحلات مهمة أخرى والصفات.
تخطيط مسار باستخدام رمز مميز للمسار
يمكنك تخطيط مسار عن طريق إنشاء رمز مسار مميز وتمريره إلى حزمة SDK للتنقل، كما هو موضح في الخطوات التالية:
الخطوة 1: إنشاء رمز مميز للمسار باستخدام واجهة برمجة التطبيقات المفضلة للمسارات أو المسارات
يمكنك طلب رمز مميّز للمسار باستخدام إحدى الطرق التالية:
واجهة برمجة تطبيقات المسارات:
computeRoutes
. لمزيد من المعلومات عن لطلب رمز مميز للمسار في واجهة برمجة تطبيقات المسارات، يمكنك الاطلاع على حساب مسار طلب رمز مميّز للمسارواجهة برمجة التطبيقات المفضلة للمسارات:
computeCustomRoutes
. لمزيد من المعلومات عن لطلب رمز مميز للمسار في واجهة برمجة التطبيقات Routes Preferred API، راجع التخطيط لمسار:
إعداد طلب المسار لاستيفاء متطلبات استخدام مسار الرمز المميز:
- ضبط
travel_mode
علىDRIVING
- ضبط
routing_preference
علىTRAFFIC_AWARE
أوTRAFFIC_AWARE_OPTIMAL
- لا تستخدم عبر نقاط الطريق
- ضبط
الخطوة 2: تمرير الرمز المميّز للمسار إلى حزمة تطوير البرامج (SDK) للتنقّل
تخزين الرمز المميز للمسار: في حزمة SDK للتنقل، يمكنك إعداد سلسلة لتخزين رمز المسار. على سبيل المثال:
String routeToken = "route token returned by Routes API";
مثال على رمز مميّز للمسار تم إرجاعه:
{ // Other fields "routeToken": "CqMBCjoKCJQOor5DHcwiEhBon3XpHXFnVvDeWMwd9PpAGgz6wtnFDKIBrAHTARpCApUDSggAAAAACjcrP3gBEAQaTApKChgKDQoCCAERAAAAAACAZkAR3SQGgZUXdUASEggAEAMQBhATEBIYAkIEGgIIBSIYChZ2VEJiWlBPSkk1aU5wUVRzNTV5d0FRKAEiFQBcJuds-Efh-2QZhOMTtUCCxEVL_g", }
تمرير الرمز المميز للمسار إلى حزمة SDK للتنقل باستخدام طريقة
Navigator.setDestinations
مع تحديد الوجهة نفسها نقاط الطرق التي استخدمتها عند إنشاء الرمز المميز للمسار:setDestinations(List
destinations, CustomRoutesOptions customRoutesOptions, DisplayOptions displayOptions); على سبيل المثال:
CustomRoutesOptions customRoutesOptions = CustomRoutesOptions.builder() .setRouteToken(routeToken) .build();
تعرض الطريقة Navigator.setDestinations
حالة الطلب.
إذا عثرت على مسار من موقع المركبة إلى الوجهة المحددة،
فإنها تُرجع RouteStatus.OK
.
لمزيد من المعلومات عن هذه الطريقة، يُرجى الاطّلاع على
Navigator.setDestinations
مثال
يوضح مثال الرمز التالي كيفية تحديد مسار مخطط له باستخدام رمز المسار.
ArrayList <Waypoint> destinations = Lists.newArrayList();
Waypoint waypoint1 =
Waypoint.builder()
.setLatLng(10, 20)
.setTitle("title")
.setVehicleStopover(true)
.build();
destinations.add(waypoint1);
Waypoint waypoint2 =
Waypoint.builder()
.setPlaceId("ChIJYV-J-ziuEmsRIMyoFaMedU4")
.setTitle("title")
.setVehicleStopover(true)
.build()
destinations.add(waypoint2);
String routeToken = "route token returned by Routes API";
CustomRoutesOptions customRoutesOptions =
CustomRoutesOptions.builder()
.setRouteToken(routeToken)
.setTravelMode(CustomRoutesOptions.TravelMode.TWO_WHEELER)
.build();
// Existing flow to get a Navigator.
NavigationApi.getNavigator(...);
// Existing flow for requesting routes.
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions);
// Or with display options.
DisplayOptions displayOptions = new DisplayOptions();
ListenableResultFuture<RouteStatus> routeStatusFuture =
navigator.setDestinations(destinations, customRoutesOptions, displayOptions);
كيفية تفاعل الرموز المميزة للمسار وحزمة تطوير البرامج (SDK) للتنقل
في ما يلي كيفية إنشاء المسار باستخدام حزمة SDK المخصصة للتنقل تفاعل المسار في الرمز المميز للمسار:
يتجاهل أي وجهات تم إعدادها سابقًا.
تستخدم موقع بدء المركبة.
التعديلات لأحوال الطرق وحركة المرور عرض سبب عدم اتّباع مسار مخطط له بدقة
يتجاهل الخيارات التالية المتعلقة بالتوجيه باعتبارها غير ضرورية:
avoidsHighways
avoidsTolls
avoidsFerries
licensePlateRestriction
المواقع التي تتابعها:
الخيارات المتعلقة بنقطة الطريق، مثل تفضيل جانب الطريق.
أهداف المسار: إذا كان على حزمة SDK للتنقل وضبط المسار المرتجع، فإنها تستخدم أهداف المسار التي حددتها عند يطلب رمز المسار. لهذا السبب، يجب عليك استخدام نفس الخيارات المتعلقة بنقطة الطرق التي حدَّدتها في Routes API.