یک مسیر ترانزیت دستورالعمل های ناوبری را با استفاده از گزینه های حمل و نقل عمومی موجود در منطقه ارائه می دهد. گزینه های حمل و نقل ممکن است شامل اتوبوس، مترو، و قطار و غیره باشد. یک مسیر ترانزیت نیز معمولاً شامل دستورالعمل هایی در مورد پیاده روی به، از و بین ایستگاه های حمل و نقل است. از آنجایی که یک مسیر ترانزیت معمولاً به شما نیاز دارد که با استفاده از بیش از یک حالت سفر سفر کنید، نحوه درخواست مسیر و برخی از بخشهای پاسخ متفاوت است.
تفاوت مسیرهای ترانزیتی با سایر مسیرها
مسیرهای ترانزیت، که با تنظیم TravelMode TRANSIT درخواست میکنید، با مسیرهایی که از گزینههای TravelMode مختلف استفاده میکنند، متفاوت هستند. شما نمی توانید همه اشیا و گزینه های یکسان را درخواست کنید، و پاسخ در مقایسه با مسیرهای دیگر، فیلدهای متفاوتی را برمی گرداند.
در Routes API، مراحل به طور مداوم یک دستورالعمل ناوبری در تمام انواع سفر هستند. بنابراین هر دستورالعمل ناوبری یک مرحله است. پاسخ مسیر ترانزیت بسیار شبیه مسیرهایی با سایر حالتهای سفر است، با چند تفاوت کلیدی:
درخواست تفاوت | تفاوت پاسخ ها |
---|---|
شما نمی توانید نقاط بین راهی را تعیین کنید. | شامل جزئیات حمل و نقل است. |
نمی توان مسیرهای سازگار با محیط زیست را دریافت کرد | شامل ابرداده برای هر حالت سفر است که حاوی خلاصه مراحل آن حالت سفر است، در «stepsOverview» (برای درخواست این ابرداده، از ماسک فیلد «routes.legs.stepsOverview» استفاده کنید). |
نمی توان نحوه و یا اینکه داده های ترافیک را درج کرد | |
نمی توان ویژگی های مسیر را برای اجتناب تعیین کرد | |
فقط می تواند transitPreferences برای routingPreference مشخص کند. برای جزئیات، به TransitPreferences مراجعه کنید. |
برای اطلاعات بیشتر در مورد پاسخ بازگشتی توسط Routes API، به بررسی پاسخهای مسیر حملونقل مراجعه کنید.
برای گرفتن یک مسیر ترانزیت
مبدا و مقصد خود را تعیین کنید.
حالت سفر را روی ترانزیت تنظیم کنید:
travelMode: "TRANSIT"
برای دریافت فیلدهای پاسخ مورد نظر، یک فیلد ماسک اضافه کنید. به درخواست فیلدهای مسیر حمل و نقل مورد نیاز مراجعه کنید.
در صورت نیاز، پارامترهای اختیاری را تنظیم کنید. به تنظیم پارامترها برای یک مسیر حمل و نقل مراجعه کنید.
فیلدهای مسیر ترانزیت مورد نیاز خود را درخواست کنید
فیلدهای مسیر حمل و نقل مورد نیاز خود را با استفاده از ماسک های میدانی درخواست کنید. جدول زیر حاوی برخی از پاسخهای پیشنهادی برای یک مسیر ترانزیت و ماسک فیلد برای درخواست آنها است.
برای درخواست این اطلاعات | از این ماسک فیلد استفاده کنید |
---|---|
تمام جزئیات مسیر | routes.* |
تمام جزئیات حمل و نقل | routes.legs.steps.transitDetails |
محل شروع برای هر پا | routes.legs.steps.startLocation |
محل پایان برای هر پا | routes.legs.steps.endLocation |
مسیریابی چند خط برای هر مرحله | routes.legs.steps.polyline |
نوع حمل و نقل مورد استفاده برای هر مرحله | routes.legs.steps.travelMode |
کرایه تخمینی برای هر مرحله و مسیر، و کرایه تخمینی محلی | routes.travel_advisory.transitFare localized routes.localizedValues.transitFare توجه: |
متن محلی برای مدت زمان و فاصله | routes.localizedValues |
برای اطلاعات بیشتر درباره تنظیم ماسکهای فیلد، به انتخاب فیلدهایی برای بازگشت مراجعه کنید.
تنظیم پارامترها برای یک مسیر حمل و نقل
در اینجا پارامترهای مربوطه برای مسیرهای ترانزیتی آمده است:
برای انجام این کار | از این پارامتر استفاده کنید | یادداشت ها |
---|---|---|
حالت حمل و نقل را انتخاب کنید | travelMode: "TRANSIT" | مورد نیاز. بیشتر بدانید . |
زمان ورود یا خروج را تنظیم کنید | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ" یا "departureTime": "yyyy-mm-ddThh:mm:ssZ" | اختیاری. شما می توانید زمان ورود یا زمان خروج را مشخص کنید. اگر هیچ کدام از زمان ها مشخص نشده باشد، departure_time به طور پیش فرض روی زمان اجرای فعلی ( now ) قرار می گیرد. شما می توانید زمان ورود و خروج را فقط در پنجره زمانی زیر تنظیم کنید و زمان اجرای فعلی ( now ) را به عنوان مرجع تعیین کنید:
|
شامل مسیرهای جایگزین | "computeAlternativeRoutes": true | اختیاری. روی true تنظیم کنید تا Routes API تا 3 مسیر اضافی را در صورت وجود محاسبه کند. بیشتر بدانید |
تنظیمات برگزیده را برای نوع حمل و نقل مشخص کنید | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]} توجه: اگر حالت سفر ترجیحی را مشخص کنید، مسیرهای برگشتی ممکن است همچنان از حالتهای حملونقل دیگر استفاده کنند، حتی فقط از سایر حالتهای حملونقل استفاده کنند، بسته به کارایی مسیر در و در دسترس بودن سفر ترجیحی. | اختیاری. حالتهای سفر ترانزیت ترجیحی را مشخص کنید. بیشتر بدانید |
ترجیحات مسیر ترانزیت را مشخص کنید | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} | اختیاری. ترجیحات مسیریابی حمل و نقل را مشخص کنید. بیشتر بدانید |
مثال: یک مسیر در ترانزیت دریافت کنید
مثال زیر یک مسیر در حمل و نقل با پارامترهای زیر دریافت می کند:
تنظیمات برگزیده را برای سفر با قطار و پیاده روی کمتر مشخص می کند.
درخواست مسیرهای جایگزین
یک ماسک فیلد ارائه می دهد که جزئیات حمل و نقل را برمی گرداند:
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "address": "Humberto Delgado Airport, Portugal" }, "destination": { "address": "Basílica of Estrela, Praça da Estrela, 1200-667 Lisboa, Portugal" }, "travelMode": "TRANSIT", "computeAlternativeRoutes": true, "transitPreferences": { routingPreference: "LESS_WALKING", allowedTravelModes: ["TRAIN"] }, }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.legs.steps.transitDetails' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
پاسخ فیلدهای route.legs.steps.transitDetails
را برای دو مسیر نشان می دهد:
{ "routes": [ { "legs": [ { "steps": [ {}, {}, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73532, "longitude": -9.14543 } } }, "arrivalTime": "2023-08-26T10:49:42Z", "departureStop": { "name": "Aeroporto", "location": { "latLng": { "latitude": 38.769047799999996, "longitude": -9.1284593 } } }, "departureTime": "2023-08-26T10:32:10Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "11:49" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:32" }, "timeZone": "Europe/Lisbon" } }, "headsign": "São Sebastião", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Vermelha", "color": "#f23061", "nameShort": "Vm", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 11 } }, {}, { "transitDetails": { "stopDetails": { "arrivalStop": { "name": "Rato", "location": { "latLng": { "latitude": 38.7201022, "longitude": -9.1540562 } } }, "arrivalTime": "2023-08-26T11:01:37Z", "departureStop": { "name": "Saldanha", "location": { "latLng": { "latitude": 38.73527, "longitude": -9.1455200000000012 } } }, "departureTime": "2023-08-26T10:57:57Z" }, "localizedValues": { "arrivalTime": { "time": { "text": "12:01" }, "timeZone": "Europe/Lisbon" }, "departureTime": { "time": { "text": "11:57" }, "timeZone": "Europe/Lisbon" } }, "headsign": "Rato", "transitLine": { "agencies": [ { "name": "Metropolitano de Lisboa, E.P.E.", "phoneNumber": "+351 21 350 0115", "uri": "https://www.metrolisboa.pt/" } ], "name": "Amarela", "color": "#f2c200", "nameShort": "Am", "textColor": "#000000", "vehicle": { "name": { "text": "Metrô" }, "type": "SUBWAY", "iconUri": "//maps.gstatic.com/mapfiles/transit/iw2/6/subway2.png" } }, "stopCount": 4 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }