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

تتوفّر ميزات البحث على طول المسار في واجهات برمجة التطبيقات التالية لخدمة Places (الإصدار الجديد):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

لمحة عن المسارات والمراحل ونقاط الالتقاء

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

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

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

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

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

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

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

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

لمزيد من المعلومات عن المسارات واحتساب المسارات، اطّلِع على Routes API.

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

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

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

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

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

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

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

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

مدّة المسار غير المباشر هي فرق المدّة بين الرحلة الأصلية (من نقطة الانطلاق إلى الوجهة) والرحلة الجديدة (من نقطة الانطلاق إلى الوجهة من خلال أ):

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

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

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