این محصول در وضعیت قدیمی است. از اکتبر ۲۰۲۶، Directions API (قدیمی) دیگر نمیتواند برای پروژههای جدید Google Cloud فعال شود. پروژههای موجود همچنان کاملاً پشتیبانی میشوند. برای ویژگیهای جدید و عملکرد بهبودیافته، به Routes API منتقل شوید.
درخواستهای نمونه
درخواست زیر مسیرهای رانندگی از تورنتو، انتاریو به مونترال، کبک را برمیگرداند.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json?destination=Montreal &origin=Toronto &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY'
با تغییر پارامترهای mode و avoid،
درخواست اولیه را میتوان بهگونهای اصلاح کرد که مسیرهای یک
سفر خوشمنظره با دوچرخه را که از بزرگراههای اصلی اجتناب میکند برگرداند.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?avoid=highways &destination=Montreal &mode=bicycling &origin=Toronto &key=YOUR_API_KEYYOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY'YOUR_API_KEY'
درخواست زیر مسیرهای حملونقل عمومی را از بروکلین، نیویورک
به کوئینز، نیویورک جستجو میکند. درخواست
departure_time را مشخص نمیکند، بنابراین زمان حرکت بهطور پیشفرض روی زمان فعلی تنظیم میشود:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Queens &mode=transit &origin=Brooklyn &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&keyYOUR_API_KEY'
درخواست حملونقل عمومی زیر شامل زمان حرکت مشخصی است.
توجه: در این مثال، زمان حرکت بهصورت ۳۰ ژوئیه ۲۰۱۲ ساعت ۹:۴۵ صبح مشخص شده است. برای جلوگیری از خطا، باید پارامتر را به زمانی در آینده تغییر دهید و سپس درخواست را ارسال کنید.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?departure_time=1343641500 &destination=Queens &mode=transit &origin=Brooklyn &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&departure_time=1343641500&key=YOUR_API_KEY'
درخواست زیر از Plus Code برای برگرداندن مسیرهای رانندگی از H8MW+WP به GCG2+3M در کلکته، هند استفاده میکند.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=GCG2%2B3M%20Kolkata%20India &origin=H8MW%2BWP%20Kolkata%20India &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=H8MW%2BWP%20Kolkata%20India&destination=GCG2%2B3M%20Kolkata%20India&key=YOUR_API_KEY'
درخواست زیر مسیرهای رانندگی از گلاسکو، پادشاهی متحد به پرث، پادشاهی متحد را بااستفاده از شناسههای مکان برمیگرداند.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y &origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE &keyYOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY'
حالتهای سفر
وقتی مسیرها را محاسبه میکنید، میتوانید
mode حملونقل را برای استفاده مشخص کنید. بهطور پیشفرض،
مسیرها بهعنوان مسیرهای driving محاسبه میشوند. حالتهای سفر زیر
پشتیبانی میشود:
driving(پیشفرض) نشاندهنده مسیرهای رانندگی استاندارد بااستفاده از شبکه جادهای است.walkingدرخواست مسیر پیادهروی ازطریق مسیرهای عابر پیاده و پیادهروها (درصورت وجود).bicyclingدرخواست مسیرهای دوچرخهسواری ازطریق مسیرهای دوچرخه و خیابانهای ترجیحی (درصورت وجود).transitدرخواست مسیر ازطریق مسیرهای حملونقل عمومی (درصورت دردسترس بودن). اگر حالت را رویtransitتنظیم کنید، میتوانید بهصورت اختیاریdeparture_timeیاarrival_timeرا مشخص کنید. اگر هیچکدام از زمانها مشخص نشده باشد،departure_timeبهطور پیشفرض روی اکنون تنظیم میشود (یعنی زمان حرکت بهطور پیشفرض روی زمان فعلی تنظیم میشود). همچنین میتوانید بهصورت اختیاری یکtransit_modeو/یا یکtransit_routing_preferenceاضافه کنید.
توجه: گاهی اوقات ممکن است مسیرهای پیادهروی و دوچرخهسواری شامل مسیرهای واضح برای عابر پیاده یا دوچرخهسواری نباشند، بنابراین این مسیرها warnings را در نتیجه برگشتی برمیگردانند که باید آن را به کاربر نمایش دهید.
اطلاعات ترافیک
وقتی همه موارد زیر اعمال شود، از اطلاعات ترافیک استفاده میشود (اینها شرایط لازم برای دریافت فیلد
duration_in_traffic در پاسخ «مسیرها» است):
- پارامتر
travel
modeبرابر باdrivingاست یا مشخص نشده است (drivingحالت سفر پیشفرض است). - درخواست شامل
departure_timeپارامتر معتبر است.departure_timeرا میتوان روی زمان فعلی یا زمانی در آینده تنظیم کرد. نمیتواند در گذشته باشد. - درخواست شامل
نقطهمسیرهای توقف بینراهی نیست. اگر درخواست
شامل نقطهمسیر باشد، پیشوند
via:را به هر نقطهمسیر اضافه کنید تا بر مسیر تأثیر بگذارد اما از توقفهای بین راه اجتناب شود. برای مثال،&waypoints=via:San Francisco|via:Mountain View|...
درصورت تمایل، میتوانید پارامتر
traffic_model را در درخواستتان اضافه کنید تا فرضهای مورداستفاده هنگام
محاسبه زمان در ترافیک را مشخص کنید.
نشانی وب زیر درخواست «مسیرها» را برای سفر از بوستون، ماساچوست به
کنکورد، ماساچوست، ازطریق چارلزتاون و لکسینگتون آغاز میکند. درخواست شامل زمان حرکت است و همه الزامات را برای برگرداندن فیلد duration_in_traffic در پاسخ «مسیرها» برآورده میکند.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?departure_time=now &destination=Concord%2C%20MA &origin=Boston%2C%20MA &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&departure_time=now&key=YOUR_API_KEY'
نقطهمسیرها
هنگام محاسبه مسیرها بااستفاده از Directions API (قدیمی)، میتوانید نقاط مسیر را مشخص کنید تا مسیری را برگردانید که شامل گذرگاهها یا توقفگاهها در مکانهای میانی باشد. میتوانید به مسیرهای رانندگی، پیادهروی، یا دوچرخهسواری نقطهمسیر اضافه کنید، اما به مسیرهای حملونقل عمومی نمیتوانید.
مکانها را در پارامتر waypoints مشخص کنید.
میتوانید یک یا چند مکان را که با نویسه خط عمودی (| یا %7C) ازهم جدا شدهاند بهصورت شناسه مکان، نشانی، یا مختصات طول/عرض جغرافیایی ارائه دهید. بهطور پیشفرض، سرویس «مسیرها» مسیر را بااستفاده از نقاطمسیر بهترتیبی که ارائه شدهاند محاسبه میکند. اولویت تجزیه مقدار نقطهمسیر بهترتیب شناسه جا، مختصات عرض جغرافیایی/طول جغرافیایی، و سپس نشانی است.
- اگر شناسه مکانی را ارسال میکنید، باید پیشوند
place_id:را به آن اضافه کنید. میتوانید شناسههای جا را از Geocoding API و Places API (ازجمله «تکمیل خودکار جا») بازیابی کنید. برای نمونهای از استفاده از شناسههای جا از «تکمیل خودکار جا»، تکمیل خودکار جا و مسیرها را ببینید. برای اطلاعات بیشتر درباره شناسههای مکان، نمای کلی شناسه مکان را ببینید.برای کارایی و دقت، درصورت امکان از شناسه مکان استفاده کنید. این شناسهها بهطور منحصربهفردی صریح هستند، مانند جفت مقدار عرض/طول جغرافیایی، و مزایای زمینکدیابی را برای مسیریابی، مانند نقاط دسترسی و متغیرهای ترافیک، ارائه میدهند. برخلاف نشانی، شناسهها برای انجام جستجو یا درخواست واسطه برای جزئیات مکان به سرویس نیاز ندارند؛ بنابراین، عملکرد بهتر است.
- اگر مختصات عرض جغرافیایی/طول جغرافیایی را ارسال کنید، مقادیر مستقیماً به سرور پیشانه میروند
تا مسیرها را بدون زمینکدیابی محاسبه کند. نقاط به جادهها همتراز شدهاند و ممکن است
دقت موردنیاز برنامهتان را ارائه ندهند. وقتی مطمئن هستید که مقادیر واقعاً نقاطی را که برنامهتان برای مسیریابی نیاز دارد مشخص میکنند، بدون توجه به نقاط دسترسی احتمالی یا جزئیات زمینکدیابی اضافی، از مختصات استفاده کنید. مطمئن شوید که مقادیر طول و عرض جغرافیایی با ویرگول (
%2C) و نه فاصله (%20) از هم جدا شده باشند. - اگر نشانی را ارسال کنید، سرویس «مسیرها» رشته را زمینکدیابی میکند و آن را به مختصات عرض جغرافیایی/طول جغرافیایی تبدیل میکند تا مسیرها را محاسبه کند. اگر مقدار نشانی مبهم باشد، ممکن است این مقدار جستجویی را برای رفع ابهام از نشانیهای مشابه برانگیزد. برای مثال، «خیابان اول» میتواند مقدار کامل یا مقدار جزئی برای «خیابان اول شمال شرقی» یا «خیابان اول جنوب شرقی» باشد. این نتیجه ممکن است با نتیجهای که Geocoding API برمیگرداند متفاوت باشد. بااستفاده از شناسه مکان میتوانید از سوءتعبیرهای احتمالی جلوگیری کنید. عیبیابی نتایج درخواست مسیر را ببینید.
یا میتوانید مجموعهای از نقاط کدبندیشده را بااستفاده از الگوریتم چندخطی کدبندیشده ارائه دهید. خواهید دید که مجموعه کدبندیشده برای تعداد زیادی نقطهمسیر مفید است، زیرا نشانی وب بهطور قابلتوجهی کوتاهتر است. همه سرویسهای وب محدودیت نشانی وب ۱۶۳۸۴ نویسه دارند.
- چندخطیهای کدبندیشده باید پیشوند
enc:داشته باشند و بهدنبال آن دونقطه (:) بیاید. برای مثال:waypoints=enc:gfo}EtohhU:. - همچنین میتوانید چند چندخطی کدبندیشده را که با نویسه خط عمودی (
|) از هم جدا شدهاند اضافه کنید. برای مثال،waypoints=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:| via:enc:udymA{~bxM:
نشانی وب زیر درخواست «مسیرها» را برای سفر بین بوستون، ماساچوست و کنکورد، ماساچوست با توقف در چارلزتاون و لکسینگتون، به همین ترتیب، آغاز میکند. این مثال از نشانیهای زیر استفاده میکند:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Concord%2C%20MA &origin=Boston%2C%20MA &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'
تأثیر گذاشتن بر مسیرها با نقاط توقف و عبور
برای هر نقطهمسیر در درخواست، پاسخ مسیرها ورودیای به آرایه legs اضافه میکند تا جزئیات توقفهای بین راه را در آن بخش از سفر ارائه دهد.
اگر میخواهید بااستفاده از نقطهمسیرها بر مسیر تأثیر بگذارید بدون اینکه توقف بین راهی اضافه کنید، پیشوند via: را به نقطهمسیر اضافه کنید. نقاطمسیر
با پیشوند via: ورودیای به آرایه
legs اضافه نمیکنند، اما سفر را ازطریق
نقطهمسیر مسیریابی میکنند.
نشانی وب زیر درخواست قبلی را بهگونهای اصلاح میکند که مسیر سفر ازطریق لکسینگتون بدون توقف هدایت میشود:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Concord%2C%20MA &origin=Boston%2C%20MA &waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'
پیشوند via: زمانی بیشترین تأثیر را دارد که مسیرها در پاسخ به کشیدن نقاطمسیر روی نقشه توسط کاربر ایجاد میشوند. انجام این کار به کاربر امکان میدهد ببیند مسیر نهایی ممکن است در زمان واقعی چگونه بهنظر برسد و کمک میکند اطمینان حاصل شود که نقطهمسیرها در مکانهایی قرار داده شدهاند که برای Directions API (قدیمی) قابلدسترسی هستند.
نشانی وب زیر نقاطمسیر را بااستفاده از مختصات عرض جغرافیایی/طول جغرافیایی درخواست میکند:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Perth%2C%20AU &origin=Sydney%2C%20AU &waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008&key=YOUR_API_KEY'
در اینجا همان درخواست بااستفاده از چندخطی کدبندیشده ارائه شده است:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Perth%2C%20AU &origin=Sydney%2C%20AU &waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'
توجه داشته باشید که میتوانید بهطور آزادانه مشخصکننده via: را با اصلاحکنندههای مکان ترکیب کنید.
برای مثال:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Perth%2C%20AU &origin=Sydney%2C%20AU &waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'
بهینهسازی نقاطمسیر
بهطور پیشفرض، سرویس «مسیرها» مسیری را ازطریق
نقطهمسیرهای ارائهشده بهترتیب دادهشده محاسبه میکند. درصورت تمایل، میتوانید optimize:true را بهعنوان اولین آرگومان در پارامتر waypoints ارسال کنید تا به سرویس «مسیرها» اجازه دهید با مرتب کردن مجدد نقاط مسیر به ترتیبی کارآمدتر، مسیر ارائهشده را بهینهسازی کند. (این بهینهسازی کاربردی از
مسئله فروشنده دورهگرد است.) مدت سفر عامل اصلی است که بهینهسازی میشود، اما عوامل دیگری مثل مسافت، تعداد پیچها، و موارد بسیار دیگری ممکن است هنگام تصمیمگیری درباره اینکه کدام مسیر کارآمدترین است درنظر گرفته شود. برای اینکه سرویس «مسیرها» بتواند مسیر را بهینهسازی کند، همه نقاطمسیر باید توقفگاه باشند.
اگر به سرویس «مسیرها» دستور دهید که ترتیب نقاطمسیر را بهینهسازی کند، ترتیب آنها در فیلد waypoint_order در شیء routes برگردانده خواهد شد.
فیلد waypoint_order
مقادیری را برمیگرداند که براساس صفر هستند.
مثال زیر سفر جادهای از آدلاید، استرالیای جنوبی به هریک از مناطق اصلی شرابسازی استرالیای جنوبی را بااستفاده از بهینهسازی مسیر محاسبه میکند.
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Adelaide%2C%20SA &origin=Adelaide%2C%20SA &waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide%2C%20SA&destination=Adelaide%2C%20SA&waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA&key=YOUR_API_KEY'
بازرسی مسیر محاسبهشده نشان میدهد که محاسبه از نقاطمسیر به ترتیب زیر استفاده میکند:
"waypoint_order": [ 3, 2, 0, 1 ]
محدودیتها
ممکن است مسیرهایی محاسبه شود که از محدودیتهای خاصی پیروی میکنند. محدودیتها
بااستفاده از پارامتر avoid و آرگومانی برای آن
پارامتر که محدودیت موردنظر برای اجتناب را نشان میدهد مشخص میشوند. محدودیتهای زیر پشتیبانی میشود:
avoid=tollsavoid=highwaysavoid=ferries
با ارسال هر دو محدودیت به پارامتر avoid، میتوان مسیری درخواست کرد که از هر ترکیبی از عوارضی، بزرگراه، و کشتی اجتناب کند. برای مثال:
avoid=tolls|highways|ferries.
توجه: افزودن محدودیتها مانع از نمایش مسیرهایی که ویژگی محدودشده را دارند نمیشود؛ بلکه نتیجه را بهسمت مسیرهای مطلوبتر سوق میدهد.
سیستمهای واحد
نتایج مسیرها حاوی text در فیلدهای distance است که ممکن است برای نشان دادن فاصله «مرحله» خاصی از مسیر به کاربر نمایش داده شود. بهطور پیشفرض، این نوشتار از سیستم واحد
کشور یا منطقه مبدأ استفاده میکند.
برای مثال، مسیری از
«شیکاگو، ایلینوی» به «تورنتو، انتاریو» نتایج را به مایل نشان میدهد، درحالیکه
مسیر برعکس نتایج را به کیلومتر نشان میدهد. میتوانید
این سیستم واحد را با تنظیم صریح یکی از آنها در پارامتر units درخواست
و ارسال یکی از مقادیر زیر
لغو کنید:
metricاستفاده از سیستم متریک را مشخص میکند. فاصلههای متنی بااستفاده از کیلومتر و متر برگردانده میشود.imperialاستفاده از سیستم امپراتوری (انگلیسی) را مشخص میکند. مسافتهای متنی بااستفاده از مایل و فوت برگردانده میشود.
توجه: این تنظیم سیستم واحد فقط
بر text نمایشدادهشده در فیلدهای
distance تأثیر میگذارد. فیلدهای distance همچنین حاوی values هستند
که همیشه برحسب متر بیان میشوند.
سوگیری منطقه
میتوانید سرویس «مسیرها» را طوری تنظیم کنید که بااستفاده از پارامتر region، نتایج را از منطقه خاصی برگرداند. این پارامتر
یک شناسه ccTLD دوحرفی
(دامنه سطح بالای کد کشور) را بهعنوان آرگومان میگیرد که سوگیری منطقه را مشخص میکند. اکثر کدهای ccTLD با کدهای ISO 3166-1 alpha-2 یکسان هستند، با چند استثنای قابلتوجه.
برای مثال، دامنه سطح بالای کد کشور پادشاهی متحد «uk» (.co.uk) است، درحالیکه کد ISO 3166-1 آن «gb» است (که ازنظر فنی برای نهاد «پادشاهی متحد بریتانیای کبیر و ایرلند شمالی» است). برای مناطق پشتیبانیشده، جزئیات پوشش Google Maps Platform را ببینید.
میتوانید از هر دامنهای که برنامه اصلی Google Maps در آن مسیرهای رانندگی را راهاندازی کرده است استفاده کنید.
برای مثال، درخواست مسیر از «تولدو» به «مادرید»
وقتی region روی es تنظیم شده باشد، نتایج مناسبی برمیگرداند
و «تولدو» بهعنوان شهری در اسپانیا تفسیر میشود:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Madrid &origin=Toledo ®ion=es &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY'
(قالب) JSON
{ "geocoded_waypoints": [ { "geocoder_status": "OK", "place_id": "ChIJ8f21C60Lag0R_q11auhbf8Y", "types": ["locality", "political"], }, { "geocoder_status": "OK", "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ", "types": ["locality", "political"], }, ], "routes": [ { "bounds": { "northeast": { "lat": 40.4165207, "lng": -3.7026134 }, "southwest": { "lat": 39.862808, "lng": -4.029406799999999 }, }, "copyrights": "Map data ©2022 Inst. Geogr. Nacional", "legs": [ { "distance": { "text": "74.3 km", "value": 74327 }, "duration": { "text": "57 mins", "value": 3446 }, "end_address": "Madrid, Spain", "end_location": { "lat": 40.4165207, "lng": -3.705076 }, "start_address": "Toledo, Spain", "start_location": { "lat": 39.862808, "lng": -4.0273727 }, "steps": [ { "distance": { "text": "0.6 km", "value": 615 }, "duration": { "text": "2 mins", "value": 106 }, "end_location": { "lat": 39.8681019, "lng": -4.029378299999999 }, "html_instructions": "Head <b>northwest</b> on <b>Av. de la Reconquista</b> toward <b>C. de la Diputación</b>", "polyline": { "points": "quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC", }, "start_location": { "lat": 39.862808, "lng": -4.0273727 }, "travel_mode": "DRIVING", }, // Additional steps omitted for brevity ], "traffic_speed_entry": [], "via_waypoint": [], }, ], "overview_polyline": { "points": "quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)", }, "summary": "A-42", "warnings": [], "waypoint_order": [], }, ], "status": "OK", }
XML
<DirectionsResponse> <status>OK</status> <route> <summary>A-42</summary> <leg> <step> <travel_mode>DRIVING</travel_mode> <start_location> <lat>39.8628080</lat> <lng>-4.0273727</lng> </start_location> <end_location> <lat>39.8681019</lat> <lng>-4.0293783</lng> </end_location> <polyline> <points>quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC</points> </polyline> <duration> <value>106</value> <text>2 mins</text> </duration> <html_instructions>Head <b>northwest</b> on <b>Av. de la Reconquista</b> toward <b>C. de la Diputación</b></html_instructions> <distance> <value>615</value> <text>0.6 km</text> </distance> </step> <!-- Additional steps omitted for brevity --> <duration> <value>3446</value> <text>57 mins</text> </duration> <distance> <value>74327</value> <text>74.3 km</text> </distance> <start_location> <lat>39.8628080</lat> <lng>-4.0273727</lng> </start_location> <end_location> <lat>40.4165207</lat> <lng>-3.7050760</lng> </end_location> <start_address>Toledo, Spain</start_address> <end_address>Madrid, Spain</end_address> </leg> <copyrights>Map data ©2022 Inst. Geogr. Nacional</copyrights> <overview_polyline> <points>quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)</points> </overview_polyline> <bounds> <southwest> <lat>39.8628080</lat> <lng>-4.0294068</lng> </southwest> <northeast> <lat>40.4165207</lat> <lng>-3.7026134</lng> </northeast> </bounds> </route> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJ8f21C60Lag0R_q11auhbf8Y</place_id> </geocoded_waypoint> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id> </geocoded_waypoint> </DirectionsResponse>
درخواست مسیر از «تولدو» به «مادرید» که بدون پارامتر region ارسال شده است، نتیجهای برنمیگرداند، زیرا «تولدو» بهعنوان شهری در اوهایو تفسیر میشود و نه اسپانیا:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=Madrid &origin=Toledo &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY'
(قالب) JSON
{ "geocoded_waypoints": [ { "geocoder_status": "OK", "place_id": "ChIJeU4e_C2HO4gRRcM6RZ_IPHw", "types": ["locality", "political"], }, { "geocoder_status": "OK", "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ", "types": ["locality", "political"], }, ], "routes": [], "status": "ZERO_RESULTS", }
XML
<DirectionsResponse> <status>ZERO_RESULTS</status> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJeU4e_C2HO4gRRcM6RZ_IPHw</place_id> </geocoded_waypoint> <geocoded_waypoint> <geocoder_status>OK</geocoder_status> <type>locality</type> <type>political</type> <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id> </geocoded_waypoint> </DirectionsResponse>
اصلاحگرهای مکان
میتوانید از اصلاحکنندههای مکان برای نشان دادن نحوه نزدیک شدن رانندگان به یک مکان خاص استفاده کنید، بااستفاده از پارامتر side_of_road برای مشخص کردن اینکه از کدام سمت جاده استفاده شود، یا با مشخص کردن عنوان برای نشان دادن جهت صحیح سفر. این اصلاحکنندهها را میتوان آزادانه با اصلاحکننده
via: برای نقطهمسیرهای میانی ترکیب کرد.
مشخص کنید که مسیرها باید از سمت خاصی از جاده عبور کنند
هنگام مشخص کردن نقطهمسیر، میتوانید بااستفاده از پیشوند side_of_road: درخواست کنید که مسیر از هر طرف جاده که نقطهمسیر به آن متمایل است عبور کند. برای مثال، این درخواست مسیر، مسیر طولانیای را برمیگرداند تا خودرو در سمتی از جاده که نقطهمسیر به آن متمایل شده است متوقف شود:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=side_of_road%3A37.7663444%2C-122.4412006 &origin=37.7680296%2C-122.4375126 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=37.7680296%2C-122.4375126&destination=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'
هنگام استفاده از side_of_road: با چندخطیهای کدگذاریشده، پارامتر به هر مکان درطول چندخطی اعمال میشود.
اصلاحکننده side_of_road: فقط با محدودیتهای زیر قابلاستفاده است:
- پارامتر
سفر
modedrivingاست یا مشخص نشده است (drivingحالت سفر پیشفرض است).
مشخص کنید که مسیرها باید عنوان خاصی داشته باشند
هنگام مشخص کردن نقطهمسیر، میتوانید درخواست کنید که مسیر از نقطهمسیر در جهت خاصی عبور کند. این عنوان با پیشوند heading=X: مشخص میشود که در آن X مقدار درجه عدد صحیح بین ۰ (شامل) و ۳۶۰ (غیرشامل) است. جهت ۰ نشاندهنده شمال، ۹۰ نشاندهنده شرق، و به همین ترتیب در جهت عقربههای ساعت است. برای مثال، در این درخواست مسیر،
مسیر از مبدأ بهسمت شرق میرود، سپس دور کامل میزند:
نشانی وب
https://maps.googleapis.com/maps/api/directions/json ?destination=37.773245%2C-122.469502 &origin=heading%3D90%3A37.773279%2C-122.468780 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=heading%3D90%3A37.773279%2C-122.468780&destination=37.773245%2C-122.469502&key=YOUR_API_KEY'
اصلاحکننده heading=X: فقط با محدودیتهای زیر قابلاستفاده است:
- پارامتر
travel
modeبرابر باdriving،bicycling، یا نامشخص است (drivingحالت سفر پیشفرض است). - اصلاحگر
side_of_roadبرای همان مکان مشخص نشده است. - مکان با مقدار عرض/طول جغرافیایی مشخص میشود. نمیتوانید از
headingبا نشانیها، «شناسههای جا»، یا چندخطیهای کدگذاریشده استفاده کنید.