מסלול תחבורה ציבורית מספק הוראות ניווט באמצעות אפשרויות התחבורה הציבורית שזמינות באזור. אפשרויות התחבורה הציבורית יכולות לכלול אוטובוסים, רכבות תחתיות, רכבות ועוד. מסלול תחבורה ציבורית כולל בדרך כלל גם הוראות הליכה אל תחנות התחבורה הציבורית, מהן וביניהן. בדרך כלל, כדי להגיע ליעד בתחבורה ציבורית צריך להשתמש ביותר מאמצעי תחבורה אחד, ולכן יש הבדלים בין בקשת המסלול לבין חלקים מהתשובה.
מה ההבדל בין מסלולי תחבורה ציבורית לבין מסלולים אחרים
מסלולי תחבורה ציבורית, שאפשר לבקש אותם על ידי הגדרת travelMode של TRANSIT, שונים ממסלולים שבהם משתמשים באפשרויות שונות של אמצעי תחבורה.
אי אפשר לבקש את כל האובייקטים והאפשרויות, והתגובה מחזירה שדות שונים בהשוואה למסלולים אחרים.
ב-Routes 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 |
אופציונלי. אם המדיניות מוגדרת כ-True, המערכת מאפשרת ל-computeRoutes לחשב עד 3 מסלולים נוספים, אם הם זמינים.
מידע נוסף |
| ציון העדפות לסוג התחבורה | 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'], };