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

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

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

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

  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. در پانل «کاوشگر میاناهای برنامه‌سازی کاربردی»، نماد تمام‌صفحه تمام‌صفحه را برای ازهم بازکردن پنجره «کاوشگر میاناهای برنامه‌سازی کاربردی» انتخاب کنید.