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

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

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

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

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

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

مرورگر APIها به شما امکان می‌دهد درخواست‌های زنده ارسال کنید تا بتوانید با 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 ، جستجوی متن (جدید) زمان سفر دو مرحله‌ای را برمی‌گرداند:

  • بخش اول شامل مدت زمان سفر و مسافت از مبدا تا مکان مورد نظر است. در این مثال، مدت زمان و مسافت از مبدا تا اولین مکان در نتایج، ۲۸۵ ثانیه و ۱۶۱۶ متر است.

  • بخش دوم شامل مدت زمان سفر و مسافت از محل تا مقصد مسیر است. در این مثال، مدت زمان و مسافت ۲۴۶۶ ثانیه و ۵۸۱۴۷ متر است.

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

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

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

در مثال بعدی، شما یک مبدا مسیریابی را به عنوان مختصات سن ماتئو، کالیفرنیا مشخص می‌کنید، برای جلوگیری از عوارض مشخص می‌کنید و تعداد نتایج را روی ۵ تنظیم می‌کنید:

  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'

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

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

امتحانش کن!

مرورگر APIها به شما امکان می‌دهد درخواست‌های نمونه ایجاد کنید تا با API و گزینه‌های API آشنا شوید.

  1. آیکون API یعنی api را در سمت راست صفحه انتخاب کنید.

  2. در صورت تمایل، پارامترهای درخواست را ویرایش کنید.

  3. دکمه اجرا را انتخاب کنید. در کادر محاوره‌ای، حسابی را که می‌خواهید برای ارسال درخواست استفاده کنید، انتخاب کنید.

  4. در پنل APIs Explorer، آیکون تمام صفحه را در حالت تمام صفحه انتخاب کنید تا پنجره APIs Explorer باز شود.