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

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

لاستخدام Text Search (New) من أجل احتساب ملخّص المسار مع البحث على طول المسار:

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

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

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

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

تُجري خدمة Text Search (New) تلقائيًا البحث على طول المسار بالكامل:

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'

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

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

جرِّبها الآن.

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

  1. انقر على رمز واجهة برمجة التطبيقات api على يسار الصفحة.

  2. يمكنك تعديل مَعلمات الطلب إذا أردت.

  3. انقر على الزر تنفيذ. في مربّع الحوار، اختَر الحساب الذي تريد استخدامه لتقديم الطلب.

  4. في لوحة "مستكشف واجهات برمجة التطبيقات"، انقر على رمز ملء الشاشة ملء الشاشة لتوسيع نافذة "مستكشف واجهات برمجة التطبيقات".