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

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

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

  1. استخدِم Routes API لاحتساب مسار يعرض خطًا متعدّد الأضلاع للمسار في الاستجابة.

  2. استخدِم المَعلمة searchAlongRouteParameters.polyline.encodedPolyline ل تمرير المسار المتعدد الخطوط إلى "البحث عن نص" (جديد) لتوجيه نتائج البحث نحو المسار. يحتوي الردّ بعد ذلك على الأماكن التي تتطابق مع معايير البحث وتقع أيضًا بالقرب من المسار المحدّد.

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

يتيح لك "مستكشف واجهة برمجة التطبيقات" إرسال طلبات مباشرة حتى تتمكّن من التعرّف على واجهة برمجة التطبيقات وخياراتها:

جرِّبه الآن

بشكلٍ تلقائي، تُجري ميزة "البحث النصي" (جديد) عملية البحث على طول المسار بالكامل:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food",
  "searchAlongRouteParameters": {
    "polyline": {
      "encodedPolyline": "ROUTE_POLYLINE"
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

يحتوي الردّ على صفيفَين: صفيف places الذي يحتوي على الأماكن المطابقة، وصفيف routingSummaries الذي يحتوي على المدة والمسافة اللازمة للقيام برحلة إلى كل مكان:

{
  "places": [
    {
      "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Vegan Mob - Vegan BBQ and Soul Food",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Enjoy Vegetarian",
        "languageCode": "en"
      }
    },
   
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0"
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0"
    },
   
  ]
}

لكل إدخال في صفيف legs، تعرض ميزة "البحث النصي (جديد)" مدّة رحلة من خطوتَين:

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

  • تحتوي المرحلة الثانية على مدة التنقّل والمسافة من المكان إلى نقطة نهاية المسار. في هذا المثال، المدة والمسافة هي 2466 ثانية و58147 مترًا.

تحديد نقطة انطلاق المسار ووضع السفر وعوامل تعديل المسار

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

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

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

  curl -X POST -d '{
    "textQuery" : "Spicy Vegetarian Food",
    "maxResultCount": 5,
    "searchAlongRouteParameters": {
      "polyline": {
        "encodedPolyline": "ROUTE_POLYLINE"
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": 37.56617,
        "longitude": -122.30870
      },
      "travelMode":"DRIVE",
      "routeModifiers": {
        "avoidTolls": true
      }
    }
  }' \
  -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
  -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
  'https://places.googleapis.com/v1/places:searchText'

تعرض الصورة التالية خريطة تحتوي على مسار متعدد الأضلاع، وموضع البداية الجديد (دبوس أزرق فاتح)، والأماكن في نتائج البحث (الدبابيس الخضراء). لاحِظ كيف تظهر كل النتائج على طول المسار، ولكن بعد سان ماتيو:

نتائج البحث من مصدر التحديث