نظرة عامة على ميزة "البحث على طول المسار"

تتوفّر ميزات "البحث على طول الطريق" في واجهات Places (New) API التالية:

  • "البحث النصي" (جديد) فقط: البحث عن أماكن على طول مسار رحلة محدّد مسبقًا
  • البحث النصي (جديد) و"البحث في مكان قريب" (جديد): يتم احتساب ملخّص التوجيه من موقع جغرافي محدّد إلى كل مكان في نتائج البحث.
  • "البحث النصي" (جديد) فقط: احتساب ملخّص التوجيه لكل مكان على طول مسار رحلة محدّد مسبقًا

البحث على طول مسار

يمكنك استخدام Routes API لحساب مسار الرحلة بين موقعَين جغرافيَين. يمكن لواجهة Routes API احتساب مسار لسيارة أو دراجة أو مركبة ذات عجلتين أو نظام نقل عام أو للمشي.

تتيح لك ميزة البحث النصي (جديدة) استخدام هذا المسار المحسوب لإجراء بحث على طول مسار. باستخدام هذا الخيار، يمكنك تمرير المسار المحسوب مسبقًا من Routes API إلى طلب Text Search (New). تحتوي الاستجابة بعد ذلك على الأماكن التي تتطابق مع معايير البحث وتقع أيضًا بالقرب من المسار المحدّد.

يشبه البحث على طول مسار استخدام خيارات الطلب locationRestriction أو locationBias لتحديد نتائج البحث. تعرض locationRestriction نتائج البحث التي تقع ضمن حدود إطار العرض، بينما قد تعرض locationBias نتائج بحث خارج إطار العرض. في المقابل، يتيح لك الخياران locationBias وlocationRestriction تحديد منطقة لتفضيل نتائج البحث، كما تتيح لك ميزة "البحث على طول المسار" في "البحث النصي" أيضًا تفضيل نتائج البحث لتضمين النتائج التي تتضمّن أقل أوقات الانحراف عن المسار من نقطة بداية المسار إلى وجهته. يمكنك تحسين نتائج البحث باستخدام locationBias أو locationRestriction مع الخط المتعدد الأضلاع.

على سبيل المثال، لنفترض أنّ لديك المسار من نقطة الانطلاق، والتي يُشار إليها باسم نقطة طريق في Routes API، إلى الوجهة كما هو محسوب بواسطة Routes API:

المسار من نقطة الانطلاق إلى الوجهة مع نتائج البحث

عند البحث على طول المسار، يتم إعطاء الأولوية للأماكن القريبة من المسار والتي تتطلّب أقل وقت للانحراف عن المسار من نقطة الانطلاق إلى الوجهة. في هذا المثال، النقاط "أ" و"ب" و"ج" هي أماكن تم عرضها كنتيجة للبحث.

حساب ملخّص التوجيه

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

في الصورة التالية، النقاط A وB وC هي أماكن تم عرضها في ردّ البحث:

النقطة "أ" و"ب" و"ج" هي أماكن تم عرضها في ردّ البحث.

بالنسبة إلى كل مكان في النتائج، يتضمّن الردّ مدة السفر والمسافة من نقطة البداية إلى المكان، إذا كان ذلك متاحًا.

يتم تلقائيًا احتساب مدة الرحلة ومسافتها باستخدام الخيار TRAFFIC_UNAWARE في واجهة Routes API. يمكنك اختياريًا ضبط إعدادات توجيه المسار المفضّلة لأخذ ظروف الزحام المباشر TRAFFIC_AWARE_OPTIMAL أو ظروف الزحام المباشر مع تقليل وقت الاستجابة TRAFFIC_AWARE في الاعتبار أثناء إجراء العمليات الحسابية.

لمحة عن المسارات وأجزائها ونقاط المرور

تتألف الرحلة من عدة مكوّنات، كما تحتسبها واجهة Routes API:

المكوّنات التي تشكّل مسارًا

يتألف المسار من المكوّنات التالية:

  • نقطة الطريق: لاحتساب مسار، عليك تحديد الموقع الجغرافي لنقطة الانطلاق والوجهة كحد أدنى. يمكنك تحديد هذه المواقع الجغرافية على أنّها نقاط طريق على المسار. نقاط الطريق الوسيطة هي مواقع جغرافية تقع بين نقطة الانطلاق والوجهة، وتريد أن يمر المسار بها.
  • المسار: الرحلة بأكملها من نقطة الانطلاق، مرورًا بأي نقاط توقف وسيطة، إلى نقطة التوقف النهائية. يتألف مسار الرحلة من مرحلة واحدة أو أكثر.

    عند تمرير مسار إلى Text Search، عليك تمرير السلسلة المتعددة الخطوط المرمّزة الخاصة بالمسار كما تعرضها Routes API. الخط المتعدد الأضلاع المشفّر هو قائمة مشفّرة بنقاط خطوط الطول والعرض تتيح لك تمثيل الخط المتعدد الأضلاع الخاص بالمسار كسلسلة.

  • المقطع: المسار من نقطة طريق في مسار إلى نقطة الطريق التالية في المسار يتكوّن كل جزء من خطوة واحدة أو أكثر.

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

    بالنسبة إلى كل نقطة طريق إضافية تضيفها إلى المسار بعد نقطة البداية والوجهة، والتي تُعرف باسم نقطة طريق وسيطة، تضيف واجهة برمجة التطبيقات جزءًا منفصلاً.

لمزيد من المعلومات حول المسارات وطريقة احتسابها، يُرجى الاطّلاع على Routes API.

حساب ملخّص التوجيه من خلال البحث على طول المسار

يمكنك دمج عمليات حساب ملخّص التوجيه مع البحث على طول مسار. في هذه الحالة، تعرض خدمة البحث النصي (جديد) مدة السفر والمسافة إلى كل مكان في الرد، ثم من كل مكان إلى الوجهة النهائية للمسار. يمكنك اعتبار هذه العملية الحسابية بمثابة توفير مدة السفر ومسافته في حال الانحراف عن المسار المحدّد للوصول إلى مكان ضمن نتائج البحث، ثم مواصلة الرحلة إلى الوجهة النهائية.

على سبيل المثال، إليك المسار التالي من نقطة البداية إلى الوجهة كما هو محسوب بواسطة Routes API. مرِّر هذا المسار إلى واجهة برمجة التطبيقات Text Search (New) مع معايير البحث.

المسار من نقطة الانطلاق إلى الوجهة مع توقّف مؤقت عند نتيجة البحث

في هذا المثال، الموقع الجغرافي A هو مكان تم عرضه في نتائج البحث من خلال خدمة Text Search (الجديدة). بالنسبة إلى كل مكان في الردّ، يتضمّن البحث المدة والمسافة اللازمتَين للانحراف إلى ذلك المكان في رحلة من مرحلتَين:

  • يتضمّن الجزء الأول من الرحلة مدة السفر والمسافة من نقطة الانطلاق إلى المكان. في هذا المثال، من نقطة البداية إلى المكان (أ).
  • يتضمّن الجزء الثاني مدة السفر والمسافة من المكان إلى وجهة المسار. في هذا المثال، من A إلى الوجهة.

من المعلومات الواردة في الردّ، يمكنك بعد ذلك حساب مدة الرحلة غير المباشرة ومسافتها، حيث:

  • \(t_{OD}\) هي مدة الرحلة من نقطة الانطلاق إلى الوجهة، \(s_{OD}\) هي مسافة الرحلة من نقطة الانطلاق إلى الوجهة
  • \(t_{OA}\) هي مدة الرحلة من نقطة الانطلاق إلى النقطة A، و \(s_{OA}\) هي مسافة الرحلة من نقطة الانطلاق إلى النقطة A
  • \(t_{AD}\) هي مدة الرحلة من النقطة A إلى الوجهة، \(s_{AD}\) هي مسافة الرحلة من النقطة A إلى الوجهة

مدة التوقف هي فرق المدة بين الرحلة الأصلية (من نقطة الانطلاق إلى الوجهة) والرحلة الجديدة (من نقطة الانطلاق إلى الوجهة عبر النقطة A):

$$ t_{detour} = t_{OA} + t_{AD} - t_{OD} $$

مسافة الالتفاف هي فرق المسافة بين الرحلة الأصلية (من نقطة الانطلاق إلى الوجهة) والرحلة الجديدة (من نقطة الانطلاق إلى الوجهة عبر النقطة A):

$$ s_{detour} = s_{OA} + s_{AD} - s_{OD} $$