מסלול תחבורה ציבורית מספק הוראות ניווט באמצעות אפשרויות התחבורה הציבורית שזמינות באזור. אפשרויות התחבורה הציבורית כוללות, בין היתר, אוטובוסים, רכבות תחתיות ורכבות עיליות. מסלול תחבורה ציבורית כולל בדרך כלל גם הוראות להליכה אל תחנת תחבורה ציבורית, ממנה או ביניהן. מכיוון שבמסלול תחבורה ציבורית בדרך כלל צריך לנסוע במספר אמצעי נסיעה, האופן שבו מבקשים את המסלול וחלקים מסוימים בתשובה שונים.
ההבדלים בין מסלולים של תחבורה ציבורית למסלולים אחרים
מסלולי תחבורה ציבורית, שאותם מבקשים על ידי הגדרת נסיעה כ-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 או signure_time. אם לא תצוין אף שעה, ברירת המחדל של departure_time היא זמן הביצוע הנוכחי (now ). אפשר להגדיר את זמני ההגעה והיציאה רק בחלון הזמן הבא, כאשר זמן הביצוע הנוכחי (now ) ישמש כהפניה:
|
הכללת נתיבים חלופיים | "computeAlternativeRoutes": true |
זה שינוי אופציונלי. צריך להגדיר את הערך True כדי שה-Routs 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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }