خلاصه های مسیریابی را با جستجو در طول مسیر ترکیب کنید

می توانید محاسبات خلاصه مسیریابی را با جستجو در طول یک مسیر ترکیب کنید. در این حالت، جستجوی متن (جدید) مدت زمان سفر و مسافت را به هر مکان در پاسخ و سپس از هر مکان به مقصد نهایی مسیر برمی‌گرداند.

برای استفاده از جستجوی متن (جدید) برای محاسبه خلاصه مسیریابی به همراه جستجو در طول یک مسیر:

  1. از Routes API برای محاسبه مسیری استفاده کنید که چند خط مسیر را در پاسخ برمی گرداند .

  2. از پارامتر searchAlongRouteParameters.polyline.encodedPolyline برای ارسال چند خط مسیر به جستجوی متن (جدید) استفاده کنید تا نتایج جستجو را به مسیر هدایت کنید. سپس پاسخ حاوی مکان هایی است که با معیارهای جستجو مطابقت دارند و همچنین در نزدیکی مسیر مشخص شده قرار دارند.

  3. routingSummaries در فیلد ماسک قرار دهید تا پاسخ شامل آرایه routingSummaries باشد. این آرایه شامل مدت زمان و فاصله از مبدا مسیریابی تا هر مکان در پاسخ است.

API Explorer به شما امکان می دهد درخواست های زنده بنویسید تا بتوانید با API و گزینه های API آشنا شوید:

آن را امتحان کنید!

به طور پیش فرض، جستجوی متن (جدید) جستجو را در کل مسیر انجام می دهد:

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 متر است.

مبدا مسیریابی، حالت سفر و اصلاح کننده های مسیر را مشخص کنید

می‌توانید با تعیین مبدا مسیریابی، حالت سفر، اصلاح‌کننده‌های مسیر و اولویت‌های مسیریابی، محاسبه خلاصه جستجو و مسیریابی را تغییر دهید. حالت سفر و اصلاح‌کننده‌های مسیر مانند محاسبه خلاصه‌های مسیریابی بدون تعیین مسیر، همانطور که در مبحث گزینه‌های سفر مشخص شده است، کار می‌کنند.

به طور پیش فرض، اولین پا از هر نتیجه شامل فاصله از مبدا تعریف شده توسط چند خط تا هر مکان است. با این حال، می توانید با مشخص کردن صریح مبدا مسیریابی در درخواست، آن پیش فرض را لغو کنید. اگر مشخص شده باشد، اولین پا از همه پاسخ‌ها، فواصل و مدت زمان را از مبدا مسیریابی مشخص شده مشخص می‌کند و مبدأ از چند خط را لغو می‌کند.

در مثال بعدی، یک مبدأ مسیریابی را به عنوان مختصات San Mateo، CA مشخص می‌کنید، برای اجتناب از عوارض تعیین می‌کنید و تعداد نتایج را روی 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'

تصویر زیر نقشه ای را نشان می دهد که شامل چند خط مسیر، مبدا جدید (پین آبی روشن) و مکان های موجود در نتایج جستجو (پین های سبز) است. توجه کنید که چگونه همه نتایج در طول مسیر هستند، اما از سن ماتئو گذشته اند:

نتایج جستجو از مبدا به‌روزرسانی.