Eine Route mit öffentlichen Verkehrsmitteln enthält Navigationsanweisungen für die in der Region verfügbaren öffentlichen Verkehrsmittel. Zu den öffentlichen Verkehrsmitteln gehören unter anderem Busse, U-Bahnen und Züge. Eine Route mit öffentlichen Verkehrsmitteln enthält in der Regel auch Anweisungen für den Fußweg zu, von und zwischen den Haltestellen. Da für eine Route mit öffentlichen Verkehrsmitteln in der Regel mehr als eine Mobilitätsform verwendet werden muss, unterscheidet sich die Art und Weise, wie Sie die Route anfordern, und einige Teile der Antwort.
Unterschiede zwischen Routen mit öffentlichen Verkehrsmitteln und anderen Routen
Routen mit öffentlichen Verkehrsmitteln, die Sie durch Festlegen von „TRANSIT“ für „travelMode“ anfordern, unterscheiden sich von Routen mit anderen Optionen für „travelMode“. Sie können nicht alle Objekte und Optionen anfordern und die Antwort enthält im Vergleich zu anderen Routen unterschiedliche Felder.
In der Routes API sind Schritte bei allen Mobilitätsformen einheitlich eine Navigationsanweisung. Jede Navigationsanweisung ist also ein Schritt. Eine Antwort auf eine Route mit öffentlichen Verkehrsmitteln ähnelt Routen mit anderen Mobilitätsformen sehr, es gibt jedoch einige wichtige Unterschiede:
| Unterschiede bei Anfragen | Unterschiede bei Antworten |
|---|---|
| Sie können keine Zwischenziele angeben. | Enthält Details zu öffentlichen Verkehrsmitteln. |
| Es können keine umweltfreundlichen Routen abgerufen werden. | Enthält Metadaten für jede Mobilitätsform mit der Zusammenfassung der Schritte für diese Mobilitätsform in `stepsOverview`. Um diese Metadaten anzufordern, verwenden Sie die Feldmaske `routes.legs.stepsOverview`. |
| Sie können nicht angeben, wie und ob Verkehrsdaten einbezogen werden sollen. | |
| Sie können keine Routenfunktionen angeben, die vermieden werden sollen. | |
Für
kann nur transitPreferences angegeben werdenroutingPreference. Weitere Informationen finden Sie unter
TransitPreferences. |
Weitere Informationen zur Antwort der Routes API finden Sie unter Antworten auf Routen mit öffentlichen Verkehrsmitteln prüfen.
Route mit öffentlichen Verkehrsmitteln abrufen
Legen Sie Start und Ziel fest.
Legen Sie die Mobilitätsform „TRANSIT“ fest:
travelMode: "TRANSIT"Fügen Sie eine Feldmaske hinzu, um die gewünschten Antwortfelder zu erhalten. Weitere Informationen Weitere Informationen zu den benötigten Feldern für die Transitroute.
Legen Sie bei Bedarf optionale Parameter fest. Weitere Informationen Weitere Informationen.
Erforderliche Felder für Routen mit öffentlichen Verkehrsmitteln anfordern
Fordern Sie die erforderlichen Felder für Routen mit öffentlichen Verkehrsmitteln mit Feldmasken an. Die folgende Tabelle enthält einige vorgeschlagene Antworten für eine Route mit öffentlichen Verkehrsmitteln und die Feldmaske, mit der Sie sie anfordern können.
| So fordern Sie diese Informationen an | Verwenden Sie diese Feldmaske |
|---|---|
| Alle Routendetails | routes.* |
| Alle Details zu öffentlichen Verkehrsmitteln | routes.legs.steps.transitDetails |
| Startort für jede Etappe | routes.legs.steps.startLocation |
| Zielort für jede Etappe | routes.legs.steps.endLocation |
| Routenpolyline für jeden Schritt | routes.legs.steps.polyline |
| Art der öffentlichen Verkehrsmittel für jeden Schritt | routes.legs.steps.travelMode |
| Geschätzter Fahrpreis für jeden Schritt und die Route sowie lokalisierter geschätzter Fahrpreis | routes.travel_advisory.transitFare
localized routes.localizedValues.transitFare
Hinweis: |
| Lokalisierter Text für Dauer und Entfernung | routes.localizedValues |
Weitere Informationen zum Festlegen von Feldmasken finden Sie unter Zurückzugebende Felder auswählen.
Parameter für eine Route mit öffentlichen Verkehrsmitteln festlegen
Hier sind die relevanten Parameter für Routen mit öffentlichen Verkehrsmitteln:
| So gehts | Verwenden Sie diesen Parameter | Hinweise |
|---|---|---|
| Mobilitätsform „Öffentliche Verkehrsmittel“ auswählen | travelMode: "TRANSIT" |
Erforderlich. Weitere Informationen. |
| Ankunfts- oder Abfahrtszeit festlegen | "arrivalTime": "yyyy-mm-ddThh:mm:ssZ"
ODER "departureTime": "yyyy-mm-ddThh:mm:ssZ" |
Optional. Sie können entweder „arrivalTime“ oder „departureTime“ angeben. Wenn keine Zeit angegeben wird, wird für departure_time standardmäßig die aktuelle Ausführungszeit (now) verwendet. Sie können Ankunfts- und Abfahrtszeiten nur innerhalb des folgenden Zeitfensters festlegen, wobei die aktuelle Ausführungszeit (now) als Referenz dient:
Hinweis: Fahrpläne für öffentliche Verkehrsmittel ändern sich häufig. Verfügbare Fahrten können sich im Laufe der Zeit ändern. Es gibt keine Garantie, dass Vorhersagen, die weit im Voraus erstellt werden, konsistente Ergebnisse liefern. |
| Alternative Routen einbeziehen | "computeAlternativeRoutes": true |
Optional. Legen Sie „true“ fest, damit mit „Compute Routes“ bei Verfügbarkeit bis zu drei zusätzliche Routen berechnet werden. Weitere Informationen |
| Einstellungen für die Art der öffentlichen Verkehrsmittel angeben | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Hinweis: Wenn Sie eine bevorzugte Mobilitätsform angeben, können für die zurückgegebenen Routen trotzdem andere Mobilitätsformen verwendet werden oder sogar ausschließlich andere Mobilitätsformen, je nach Effizienz der Route und Verfügbarkeit der bevorzugten Mobilitätsform. |
Optional. Geben Sie die bevorzugten Mobilitätsformen für öffentliche Verkehrsmittel an. Weitere Informationen |
| Einstellungen für die Route mit öffentlichen Verkehrsmitteln angeben | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Optional. Geben Sie die Einstellungen für die Routenplanung mit öffentlichen Verkehrsmitteln an. Weitere Informationen |
Beispiel: Route mit öffentlichen Verkehrsmitteln abrufen
Im folgenden Beispiel wird eine Route mit öffentlichen Verkehrsmitteln mit den folgenden Parametern abgerufen:
Gibt Einstellungen für die Fahrt mit dem Zug und kurze Fußwege an.
Fordert alternative Routen an.
Enthält eine Feldmaske, die die Details zu öffentlichen Verkehrsmitteln zurückgibt:
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'
Die Antwort enthält die Felder route.legs.steps.transitDetails für die beiden Routen:
{ "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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }