المسار إلى نقاط التنقّل

توفّر حزمة تطوير البرامج (SDK) للتنقّل على أجهزة Android طرقًا محسّنة لتحديد النقاط على المسار أو نقاط التنقّل، ما يتيح تحديد المسارات بدقة أكبر وتحسين تجربة الوصول إلى الوجهة، خاصةً للوجهات التي تتضمّن مداخل متعدّدة أو نقاط تنقّل معيّنة. يمكنك التوجيه إلى مواقع جغرافية دقيقة باستخدام navigationPointToken، وهو سلسلة ترمز إلى موقع جغرافي وسياق مسار إضافي. يمكنك أيضًا دمج إحداثيات خطوط العرض والطول مع رقم تعريف المكان لإضافة سياق.

خلفية

قبل الإصدار 7.4، كان بإمكانك تحديد Waypoint باستخدام إحداثيات خطوط العرض والطول أو رقم تعريف المكان. على الرغم من أنّ التوجيه إلى خطوط العرض والطول فقط قد يكون فعّالاً في بعض الأحيان، إلا أنّه قد يؤدي أحيانًا إلى نقاط نزول أو ركوب غير مثالية، خاصةً في الأماكن الكبيرة أو المتنزهات أو المباني التي تحتوي على مداخل متعددة. قد يتم تثبيت النتيجة على أقرب جزء من الطريق، وقد لا يكون ذلك نقطة التنقّل الأكثر ملاءمة أو صحة.

وتعالج خيارات النقاط على المسار المحسّنة هذه المشكلة من خلال السماح بتقديم المزيد من السياق.

استخدام رمز مميّز لنقطة تنقّل

للحصول على أدق توجيه إلى نقاط تنقّل معيّنة، مثل المداخل أو أرصفة التحميل أو مناطق الاستلام المخصّصة، يمكنك استخدام navigationPointToken. يتم الحصول على هذا الرمز المميّز من خلال استدعاء طريقة destinations في Geocoding API. وتمثّل نقطة تنقّل محدّدة يمكن توجيهها مرتبطة بمكان معيّن.

لتحديد رمز مميّز لنقطة التنقّل:

  1. احصل على navigationPointToken من ردّ طريقة Destinations في Geocoding API.
  2. أنشئ Waypoint باستخدام طريقة setNavigationPointToken() في أداة الإنشاء.
// Assuming 'navPointToken' is a String obtained from the destinations method of the Geocoding API
// Assuming 'destinationName' is a String title for the waypoint

Waypoint waypointWithToken = Waypoint.builder()
    .setTitle(destinationName)
    .setNavigationPointToken(navPointToken)
    .build();

// Use this waypoint in navigator.setDestinations()

استخدام رموز نقاط التنقّل ورموز المسارات

يمكنك استرداد رمز مميّز لنقطة التنقّل من خلال Geocoding API، واسترداد رمز مميّز للمسار من Routes API، ثم إرسال كل من الرمز المميّز لنقطة التنقّل والرمز المميّز للمسار إلى حزمة Navigation SDK. ويكون ذلك مفيدًا في سيناريوهات مثل خدمات النقل المشترك أو التوصيل، حيث تستخدم Routes API لحساب سعر الرحلة وتريد دقة الرمز المميّز لنقطة التنقّل.

باستخدام رمز المسار المميّز، تبدأ حزمة تطوير البرامج (SDK) للتنقّل في التنقّل على المسار نفسه الذي استخدمته لحساب السعر. يقلل ذلك من خطر استخدام مسارات أطول أو أقصر للرحلة، ما قد يؤدي إلى "صدمات في الأسعار".

لمزيد من المعلومات حول تحديد موقع جغرافي باستخدام رمز مميّز لنقطة التنقّل وإنشاء رمز مميّز للمسار، يُرجى الاطّلاع على مستندات Routes API. يُرجى الاطّلاع على "التخطيط لمسار" لمعرفة كيفية التخطيط لمسار باستخدام رمز مميّز للمسار.

يوضّح هذا المخطّط البياني كيف يمكن لتطبيق توصيل أو مشاركة رحلات استخدام رموز نقاط التنقّل المميّزة ورموز المسارات المميّزة معًا:

مخطّط بياني لحالة استخدام خدمات النقل التشاركي أو التوصيل
مخطّط بياني لحالة استخدام خدمة توصيل أو مشاركة رحلات

الجمع بين رقم تعريف المكان وخطوط العرض والطول

اعتبارًا من الإصدار 7.4، يمكنك تقديم كلّ من رقم تعريف المكان وإحداثيات خطوط الطول والعرض عند إنشاء Waypoint. هذه الطريقة مفيدة عندما تريد تحديد نقطة دقيقة (خط العرض/خط الطول) مع توفير سياق المكان العام (رقم تعريف المكان). يتيح ذلك لـ Navigation SDK تقديم تجربة وصول أكثر ثراءً من خلال تمييز مبنى الوجهة أو عرض نقاط الاهتمام القريبة ذات الصلة برقم تعريف المكان.

// Assuming 'placeId' is the Place ID String
// Assuming 'lat' and 'lng' are the double values for latitude and longitude
// Assuming 'destinationName' is a String title for the waypoint

Waypoint waypointWithPlaceIdAndLatLng = Waypoint.builder()
    .setTitle(destinationName)
    .setPlaceIdString(placeId)
    .setLatLng(lat, lng)
    .build();

// Use this waypoint in navigator.setDestinations()

الاعتبارات

عند تقديم كلّ من placeId وlatlng:

  • يستهدف المسار بشكل أساسي latlng المحدّد.
  • يتم استخدام placeId كسياق لتحسين تجربة الوصول.
  • الاحتياطي: إذا حدّدت حزمة تطوير البرامج (SDK) أنّ السمة placeId المقدَّمة تتوافق مع ميزة بعيدة جدًا عن السمة latlng المحدّدة، سيتم تجاهل السمة placeId. في هذا السيناريو، سيستمر التوجيه إلى latlng فقط، ولن تتوفّر التحسينات الخاصة بتجربة الوصول إلى المكان المحدّد.

ملخّص إعدادات النقاط على المسار الصالحة

الطريقة setLatLng() setPlaceIdString() setNavigationPointToken() سلوك التوجيه تمييز الوجهة
إحداثيات خطوط العرض/الطول فقط محدّدة غائب غائب المسارات إلى جزء الطريق الأقرب إلى الإحداثيات المحدّدة يتم عرض هذه السمة إذا كان من الممكن استنتاج الوجهة بدرجة عالية من الثقة
رقم تعريف المكان فقط غائب محدّدة غائب المسارات المؤدية إلى نقطة التنقّل التلقائية لرقم تعريف المكان رقم تعريف مكان الانطلاق
رمز نقطة التنقّل فقط غائب غائب محدّدة المسارات المؤدية إلى نقطة التنقّل الدقيقة التي يمثّلها الرمز المميّز من الوجهة المحدّدة في طلب طريقة الوجهات الأصلي في Geocoding API
إحداثيات خطوط العرض/الطول ورقم تعريف المكان معًا محدّدة محدّدة غائب المسارات إلى جزء الطريق الأقرب إلى الإحداثيات المحدّدة من رقم تعريف المكان، ولكن لا يتم عرضه إذا كان رقم تعريف المكان بعيدًا جدًا عن إحداثيات خط العرض/خط الطول