یک مسیر حمل و نقل عمومی، دستورالعملهای ناوبری را با استفاده از گزینههای حمل و نقل عمومی موجود در منطقه ارائه میدهد. گزینههای حمل و نقل عمومی ممکن است شامل اتوبوس، مترو و قطار و موارد دیگر باشد. یک مسیر حمل و نقل عمومی معمولاً شامل دستورالعملهایی در مورد پیادهروی به، از و بین ایستگاههای حمل و نقل عمومی نیز میشود. از آنجا که یک مسیر حمل و نقل عمومی معمولاً شما را ملزم به استفاده از بیش از یک روش سفر میکند، نحوه درخواست مسیر و برخی از بخشهای پاسخ متفاوت است.
تفاوت مسیرهای ترانزیتی با سایر مسیرها
مسیرهای حمل و نقل عمومی که با تنظیم travelMode TRANSIT درخواست میکنید، با مسیرهایی که از گزینههای حالت سفر متفاوت استفاده میکنند، متفاوت هستند. شما نمیتوانید همه اشیاء و گزینههای یکسان را درخواست کنید و پاسخ، در مقایسه با سایر مسیرها، فیلدهای متفاوتی را برمیگرداند.
در API مسیرها، گامها به طور مداوم یک دستورالعمل ناوبری در تمام انواع سفرها هستند. بنابراین هر دستورالعمل ناوبری یک گام است. پاسخ یک مسیر حمل و نقل عمومی بسیار شبیه به مسیرهایی با سایر حالتهای سفر است، با چند تفاوت کلیدی:
| درخواست تفاوتها | تفاوتهای پاسخ |
|---|---|
| شما نمیتوانید نقاط مسیر میانی را مشخص کنید. | شامل جزئیات حمل و نقل عمومی است. |
| نمیتوان مسیرهای سازگار با محیط زیست پیدا کرد | شامل فراداده برای هر حالت سفر است که شامل خلاصه مراحل آن حالت سفر، در stepsOverview است (برای درخواست این فراداده، از ماسک فیلد stepsOverview استفاده کنید). |
| نمیتوان نحوه و امکان گنجاندن دادههای ترافیک را مشخص کرد | |
| نمیتوان ویژگیهای مسیر را برای اجتناب مشخص کرد | |
فقط میتوان transitPreferences را مشخص کرد. برای جزئیات بیشتر، به TransitPreference مراجعه کنید. |
برای دریافت مسیر ترانزیت
- مبدا و مقصد خود را تعیین کنید.
-
travelModeرویTRANSITتنظیم کنید. - برای دریافت پاسخ مورد نیاز، ماسکهای فیلد مناسب را اضافه کنید. به بخش «درخواست فیلدهای مسیر ترانزیت مورد نیاز» مراجعه کنید.
- در صورت نیاز، پارامترهای اختیاری را تنظیم کنید. به تنظیم پارامترهای مسیر ترانزیت مراجعه کنید.
فیلدهای مسیر حمل و نقل مورد نیاز خود را درخواست کنید
فیلدهای مسیر ترانزیت مورد نیاز خود را با استفاده از ماسکهای فیلد درخواست کنید. جدول زیر شامل برخی از پاسخهای پیشنهادی برای یک مسیر ترانزیت و ماسک فیلد مورد استفاده برای درخواست آنها است.
| برای درخواست این اطلاعات | از این ماسک میدانی استفاده کنید |
|---|---|
| تمام جزئیات مسیر. | * |
| جزئیات حمل و نقل عمومی برای بخشهای مختلف مسیر. | legs |
| کرایه تخمینی برای هر مرحله از مسیر، و کرایه تخمینی محلی. | travelAdvisory |
| متن محلی برای مدت زمان و مسافت | localizedValues |
تنظیم پارامترهای مسیر ترانزیت
پارامترهای مربوط به مسیرهای ترانزیتی به شرح زیر است:
| برای انجام این کار | از این پارامتر استفاده کنید | یادداشتها |
|---|---|---|
| انتخاب حالت حمل و نقل عمومی | travelMode: "TRANSIT" | الزامی است. اطلاعات بیشتر . |
| زمان ورود یا خروج را تنظیم کنید | arrivalTime: new Date(yyyy-mm-ddThh:mm:ssZ)یا departureTime: new Date(yyyy-mm-ddThh:mm:ssZ) | اختیاری. میتوانید زمان ورود یا زمان حرکت را مشخص کنید. اگر هیچکدام از این دو زمان مشخص نشده باشند، زمان departureTime به طور پیشفرض روی زمان اجرای فعلی ( now ) تنظیم میشود. میتوانید زمان ورود و حرکت را فقط در پنجره زمانی زیر تنظیم کنید، با مرجع زمان اجرای فعلی ( now ):
Date بیان میشود.توجه: برنامههای حمل و نقل عمومی مرتباً تغییر میکنند، سفرهای حمل و نقل عمومی موجود ممکن است با گذشت زمان تغییر کنند و هیچ تضمینی برای ارائه نتایج ثابت برای پیشبینیهای از قبل وجود ندارد. |
| مسیرهای جایگزین را لحاظ کنید | computeAlternativeRoutes: true | اختیاری. برای اینکه computeRoutes حداکثر ۳ مسیر اضافی را در صورت وجود محاسبه کند، روی true تنظیم کنید. اطلاعات بیشتر |
| تنظیمات برگزیده برای نوع حمل و نقل را مشخص کنید | transitPreference: {allowedTransitModes: ["BUS", "SUBWAY", "TRAIN", "LIGHT_RAIL", "RAIL"]}توجه: اگر یک حالت سفر ترجیحی را مشخص کنید، مسیرهای رفت و برگشت ممکن است همچنان از حالتهای حمل و نقل عمومی دیگر استفاده کنند، حتی ممکن است فقط از حالتهای حمل و نقل عمومی دیگر استفاده کنند، که این بستگی به کارایی مسیر و در دسترس بودن سفر ترجیحی دارد. | اختیاری. روشهای حمل و نقل ترجیحی خود را مشخص کنید. اطلاعات بیشتر |
| تنظیمات برگزیده برای مسیر حمل و نقل را مشخص کنید | transitPreference: {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} | اختیاری. تنظیمات مسیریابی حمل و نقل عمومی را مشخص کنید. اطلاعات بیشتر |
درخواست نمونه
مثال زیر نحوه درخواست مسیر ترانزیت را نشان میدهد:
const request = { origin: 'Hunters Point San Francisco, CA 94124', destination: '201 Marine Dr, San Francisco, CA 94129', travelMode: 'TRANSIT', departureTime: new Date(), transitPreference: { allowedTransitModes: ['BUS', 'SUBWAY', 'TRAIN', 'LIGHT_RAIL', 'RAIL'], routingPreference: 'FEWER_TRANSFERS', // Alternatively, 'LESS_WALKING'. }, fields: ['path', 'legs', 'travelAdvisory', 'localizedValues'], };