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

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

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

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

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

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

‫APIs Explorer به شما امکان می‌دهد درخواست‌های مستقیم ارسال کنید تا بتوانید با «میانای برنامه‌سازی کاربردی» و گزینه‌های آن آشنا شوید:

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

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'

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

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

امتحان کنید!

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

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

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

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

  4. در پانل «کاوشگر API»، نماد تمام‌صفحه تمام‌صفحه را انتخاب کنید تا پنجره «کاوشگر API» ازهم باز شود.