مرور کلی جستجو در طول مسیر
ویژگیهای جستجو در طول مسیر در APIهای Places (جدید) زیر موجود است:
- جستجوی متنی (جدید): فقط مکانهایی را در امتداد یک مسیر سفر از پیش تعریفشده جستجو کنید.
- جستجوی متن (جدید) و جستجوی نزدیک (جدید): خلاصه مسیریابی را از یک مکان مبدا مسیریابی مشخص شده تا هر مکان در نتایج جستجو محاسبه کنید.
- جستجوی متنی (جدید): خلاصه مسیریابی را برای هر مکان در طول یک مسیر سفر از پیش تعریف شده محاسبه کنید.
جستجو در امتداد یک مسیر
شما از API مسیرها (Routes API) برای محاسبه مسیر سفر بین دو مکان استفاده میکنید. API مسیرها میتواند مسیری را برای ماشین، دوچرخه، وسیله نقلیه دوچرخ، سیستم حمل و نقل عمومی یا پیادهروی محاسبه کند.
جستجوی متن (جدید) به شما امکان میدهد از این مسیر محاسبهشده برای انجام جستجو در امتداد یک مسیر استفاده کنید. با این گزینه، مسیر از پیش محاسبهشده را از API مسیرها به درخواست جستجوی متن (جدید) ارسال میکنید. سپس پاسخ شامل مکانهایی است که با معیارهای جستجو مطابقت دارند و همچنین در نزدیکی مسیر مشخصشده قرار دارند.
جستجو در امتداد یک مسیر مشابه استفاده از گزینههای درخواست locationRestriction یا locationBias برای جهتدهی به نتایج جستجو است. locationRestriction نتایج جستجویی را برمیگرداند که در محدودهی viewport قرار میگیرند، در حالی که locationBias ممکن است نتایج جستجو را خارج از viewport برگرداند. با این حال، در حالی که گزینههای locationBias و locationRestriction به شما امکان میدهند منطقهای را برای جهتدهی به نتایج جستجو مشخص کنید، ویژگی جستجو در امتداد مسیر در Text Search همچنین به شما امکان میدهد نتایج جستجو را جهتدهی کنید تا شامل نتایجی با حداقل زمان انحراف از مبدا مسیر به مقصد مسیر باشد. میتوانید نتایج جستجو را با استفاده از locationBias یا locationRestriction در ترکیب با چندخطی جهتدهی کنید.
برای مثال، مسیر از مبدا، که در Routes API به عنوان یک نقطه مسیر (waypoint) به آن اشاره میشود، به مقصدی که توسط Routes API محاسبه میشود را در نظر بگیرید:
وقتی در طول مسیر جستجو میکنید، جستجو به سمت مکانهای نزدیک مسیر با حداقل زمان انحراف از مبدا به مقصد متمایل میشود. در این مثال، نقاط A، B و C مکانهایی هستند که توسط جستجو بازگردانده میشوند.
محاسبه خلاصه مسیریابی
جستجوی متن (جدید) و جستجوی نزدیک (جدید) میتوانند خلاصه مسیریابی ، به معنی مدت زمان و مسافت، را تا هر مکان در پاسخ، بر اساس مکان مبدا مسیریابی مشخص شده در درخواست، محاسبه کنند. وقتی مبدا مسیریابی را مشخص میکنید، پاسخ نه تنها شامل لیستی از مکانهایی است که با جستجو مطابقت دارند، بلکه مدت زمان سفر و مسافت از مبدا مسیریابی تا هر مکان را نیز شامل میشود.
در تصویر زیر، نقاط A، B و C مکانهایی هستند که در پاسخ جستجو برگردانده شدهاند:
برای هر مکان در نتایج، پاسخ شامل مدت زمان سفر و فاصله از مبدا مسیریابی تا آن مکان، در صورت وجود، است.
به طور پیشفرض، مدت زمان و مسافت سفر با استفاده از گزینه TRAFFIC_UNAWARE در API مسیرها محاسبه میشود. میتوانید به صورت اختیاری تنظیمات مسیریابی را طوری تنظیم کنید که شرایط ترافیک زنده TRAFFIC_AWARE_OPTIMAL یا شرایط ترافیک زنده با تأخیر کاهشیافته TRAFFIC_AWARE در طول محاسبات در نظر بگیرد.
درباره مسیرها، مراحل و نقاط مسیر
چندین جزء، یک مسیر را تشکیل میدهند که توسط Routes API محاسبه میشوند:
یک مسیر از اجزای زیر تشکیل شده است:
- نقطه مسیر : برای محاسبه یک مسیر، حداقل مکانهای مبدا و مقصد را مشخص میکنید. این مکانها را به عنوان نقاط مسیر در مسیر تعریف میکنید. نقاط مسیر میانی، مکانهایی بین مبدا و مقصد هستند که میخواهید مسیر از آنها عبور کند.
مسیر : کل سفر از نقطه مسیر مبدا، از طریق هر نقطه مسیر میانی، تا نقطه مسیر مقصد. یک مسیر شامل یک یا چند مرحله است.
هنگام ارسال یک مسیر به جستجوی متن، شما چندخطی کدگذاری شده مسیر را همانطور که توسط Routes API برگردانده میشود، ارسال میکنید. یک چندخطی کدگذاری شده، فهرستی کدگذاری شده از نقاط طول و عرض جغرافیایی است که به شما امکان میدهد چندخطی مسیر را به صورت یک رشته نمایش دهید.
مرحله (leg) : مسیر از یک نقطه مسیر در یک مسیر به نقطه مسیر بعدی در مسیر. هر مرحله از یک یا چند مرحله گسسته تشکیل شده است.
یک مسیر شامل یک بخش جداگانه برای مسیر از هر نقطه مسیر به نقطه بعدی است. برای مثال، اگر مسیر شامل یک نقطه مسیر مبدا و یک نقطه مسیر مقصد باشد، آنگاه مسیر شامل یک بخش است.
برای هر نقطه مسیر اضافی که بعد از مبدا و مقصد به مسیر اضافه میکنید، که نقطه مسیر میانی نامیده میشود، API یک بخش جداگانه اضافه میکند.
برای اطلاعات بیشتر در مورد مسیرها و محاسبه مسیرها، به API مسیرها مراجعه کنید.
محاسبه خلاصه مسیریابی با جستجو در طول مسیر
شما میتوانید محاسبات خلاصه مسیریابی را با جستجو در طول یک مسیر ترکیب کنید. در این حالت، جستجوی متنی (جدید) مدت زمان و مسافت سفر را تا هر مکان در پاسخ و سپس از هر مکان تا مقصد نهایی مسیر برمیگرداند. این محاسبه را به عنوان ارائه مدت زمان و مسافت سفر در صورتی که از مسیر مشخص شده برای سفر به مکانی در نتایج جستجو منحرف شوید و سپس به مقصد نهایی ادامه دهید، در نظر بگیرید.
برای مثال، مسیر زیر را از مبدا به مقصد که توسط Routes API محاسبه شده است، در نظر بگیرید. این مسیر را به همراه معیارهای جستجوی خود به Text Search (New) API ارسال کنید.
در این مثال، مکان A مکانی است که در نتایج جستجو از جستجوی متنی (جدید) برگردانده شده است. برای هر مکان در پاسخ، جستجو شامل مدت زمان و مسافت مورد نیاز برای انحراف به آن مکان به عنوان یک سفر دو مرحلهای است:
- بخش اول شامل مدت زمان سفر و مسافت از مبدا مسیر تا مکان مورد نظر است. در این مثال، از مبدا تا مکان A.
- بخش دوم شامل مدت زمان سفر و مسافت از محل تا مسیر مقصد است. در این مثال، از A تا مقصد.
از اطلاعات موجود در پاسخ، میتوانید مدت زمان و مسافت انحراف را محاسبه کنید، که در آن:
- \(t_{OD}\) مدت زمان سفر از مبدا تا مقصد است، \(s_{OD}\) مسافت سفر از مبدا تا مقصد است
- \(t_{OA}\) مدت زمان سفر از مبدا تا A است؛ \(s_{OA}\) مسافت سفر از مبدا تا A است
- \(t_{AD}\) مدت زمان سفر از A تا مقصد است؛ \(s_{AD}\) مسافت سفر از A تا مقصد است
مدت زمان انحراف، اختلاف مدت زمان بین سفر اصلی (از مبدا به مقصد) و سفر جدید (از مبدا به مقصد از طریق A) است:
مسافت انحرافی، اختلاف مسافت بین سفر اصلی (از مبدا تا مقصد) و سفر جدید (از مبدا تا مقصد از طریق A) است: