מסלול לתחבורה ציבורית מספק הוראות ניווט באמצעות התחבורה הציבורית הזמינות באזור הזה. אפשרויות תחבורה ציבורית עשויות לכלול אוטובוסים, רכבות תחתיות רכבות, בין היתר. מסלול תחבורה ציבורית כולל בדרך כלל גם הוראות הליכה אל תחנות תחבורה ציבורית, מהן או בין תחנות תחבורה ציבורית. כי מסלול לתחבורה ציבורית בדרך כלל מחייבים נסיעה בכמה אמצעי נסיעה, מבקשים את המסלול ובחלקים מסוימים של התשובה שונים.
ההבדל בין מסלולים של תחבורה ציבורית למסלולים אחרים
מסלולי התחבורה הציבורית, שאותם מבקשים על ידי הגדרת מצב נסיעה של TRANSIT, יהיו שונים ממסלולים שבהם נעשה שימוש באפשרויות שונות של TravelMode. אי אפשר לבקש את כל האובייקטים והאפשרויות, והתשובה תוחזר שדות שונים, בהשוואה לנתיבים אחרים.
ב-Routes API, השלבים הם תמיד הוראה אחת לניווט בכל סוגי הנסיעות. כך שכל הוראה ניווט היא שלב. תחבורה ציבורית זמן התגובה של המסלול דומה מאוד למסלולים במצבי נסיעה אחרים, מכמה שיקולים הבדלים:
הבדלים בבקשות | הבדלים בתשובה |
---|---|
לא ניתן לציין ציוני דרך. | כולל פרטי תחבורה ציבורית. |
אין אפשרות לקבל מסלולים ידידותיים לסביבה | כולל מטא-נתונים לכל מצב נסיעה שמכילים את סיכום השלבים של במצב נסיעה, ב-'stepsOverview' (כדי לבקש את המטא-נתונים, משתמשים ברכיב מסיכת השדות 'routes.legs.stepsOverview'). |
לא ניתן לציין איך ואם לכלול נתוני תנועה | |
לא ניתן לציין תכונות מסלול שיש להימנע מהן | |
אפשר לציין רק transitPreferences עבור
routingPreference . פרטים נוספים זמינים במאמר
[TransitPreferences](reference/rest/v2/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" |
זה שינוי אופציונלי. אפשר לציין את arrival_time או את departure_time. אם לא מציינים אף אחד מהזמנים, הערך שמוגדר כברירת מחדל בשדה departure_time הוא זמן הביצוע הנוכחי (now ). אפשר להגדיר את זמני ההגעה והיציאה רק בחלון הזמן הבא, עם זמן הביצוע הנוכחי (now ) בתור נקודת התייחסות:
|
הכללת מסלולים חלופיים | "computeAlternativeRoutes": true |
זה שינוי אופציונלי. יש להגדיר את הערך True כדי שה-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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }