Eine ÖPNV-Route enthält Navigationsanweisungen mit den in der Region verfügbaren öffentlichen Verkehrsmitteln. Zu den öffentlichen Verkehrsmitteln gehören unter anderem Busse, U-Bahnen und Züge. Eine Route für öffentliche Verkehrsmittel enthält in der Regel auch Anweisungen für Fußwege zu, von und zwischen Bahnhöfen. Da für eine Route mit öffentlichen Verkehrsmitteln in der Regel mehrere Mobilitätsformen erforderlich sind, unterscheiden sich die Art und Weise, wie Sie die Route anfordern, und einige Teile der Antwort.
Unterschiede zwischen öffentlichen Verkehrsmitteln und anderen Routen
Öffentliche Verkehrsmittel-Routen, die Sie anfordern, indem Sie „Öffentliche Verkehrsmittel“ als travelMode festlegen, unterscheiden sich von Routen mit anderen travelMode-Optionen. Sie können nicht alle Objekte und Optionen anfordern. Die Antwort gibt im Vergleich zu anderen Routen andere Felder zurück.
In der Routes API sind Schritte für alle Arten von Fahrten einheitlich. Jede Navigationsanweisung ist also ein Schritt. Eine Antwort für öffentliche Verkehrsmittel ähnelt sehr den Antworten für andere Verkehrsmittel, weist jedoch einige wichtige Unterschiede auf:
Unterschiede bei Anfragen | Unterschiede bei der Antwort |
---|---|
Wegpunkte können nicht angegeben werden. | Enthält Details zu öffentlichen Verkehrsmitteln. |
Keine umweltfreundlichen Routen verfügbar | Enthält Metadaten für jede Mobilitätsform, die die Zusammenfassung der Schritte für diese Mobilitätsform aus „stepsÜbersicht“ enthalten. Verwenden Sie zum Anfordern dieser Metadaten die Feldmaske „routes.legs.stepsOverview“. |
Es kann nicht angegeben werden, wie und ob Verkehrsdaten eingeschlossen werden sollen | |
Es können keine zu vermeidenden Routenelemente angegeben werden | |
Für routingPreference kann nur transitPreferences angegeben werden. Weitere Informationen finden Sie unter TransitPreferences . |
Weitere Informationen zur von der Routes API zurückgegebenen Antwort finden Sie unter Antworten zu öffentlichen Verkehrsmitteln überprüfen.
So rufen Sie eine Route für öffentliche Verkehrsmittel ab
Legen Sie den Start- und Zielort fest.
Legen Sie die Mobilitätsform auf „Öffentliche Verkehrsmittel“ fest:
travelMode: "TRANSIT"
Fügen Sie eine Feldmaske hinzu, um die gewünschten Antwortfelder abzurufen. Weitere Informationen finden Sie unter Erforderliche Felder für Routen mit öffentlichen Verkehrsmitteln anfordern.
Legen Sie bei Bedarf optionale Parameter fest. Weitere Informationen finden Sie unter Parameter für eine ÖPNV-Route festlegen.
Benötigte Felder für Routen mit öffentlichen Verkehrsmitteln anfordern
Verwenden Sie Feldmasken, um die erforderlichen Felder für die Routen von öffentlichen Verkehrsmitteln anzufordern. Die folgende Tabelle enthält einige Antwortvorschläge für eine Route mit öffentlichen Verkehrsmitteln sowie die Feldmaske, die für die Anfrage verwendet werden soll.
So fordern Sie diese Informationen an: | Diese Feldmaske verwenden |
---|---|
Alle Routendetails | routes.* |
Alle Details zu öffentlichen Verkehrsmitteln | routes.legs.steps.transitDetails |
Startort für jeden Streckenabschnitt | routes.legs.steps.startLocation |
Endposition für jeden Abschnitt | routes.legs.steps.endLocation |
Polylinie für die Route für jeden Schritt | routes.legs.steps.polyline |
Art des öffentlichen Nahverkehrs für jeden Schritt | routes.legs.steps.travelMode |
Geschätzter Preis für jeden Schritt und die Route sowie lokalisierter geschätzter Preis | 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 Felder für die Rückgabe auswählen.
Parameter für eine ÖPNV-Route festlegen
Hier sind die relevanten Parameter für Routen für öffentliche Verkehrsmittel:
Aktion | Diesen Parameter verwenden | Hinweise |
---|---|---|
Mobilitätsform 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 „arrival_time“ oder „departure_time“ angeben. Wenn keine Zeit angegeben ist, 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:
|
Alternative Routen einschließen | "computeAlternativeRoutes": true |
Optional. Setzen Sie diesen Wert auf „true“, um die Routes API bei Verfügbarkeit bis zu drei zusätzliche Routen berechnen zu lassen. Weitere Informationen |
Einstellungen für die Mobilitätsform festlegen | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Hinweis: Wenn Sie eine bevorzugte Mobilitätsform angeben, können für die zurückgegebenen Routen weiterhin andere oder auch nur andere Verkehrsmittel verwendet werden. Das ist abhängig von der Effizienz der Route und deren Verfügbarkeit. |
Optional. Sie können bevorzugte Mobilitätsformen für öffentliche Verkehrsmittel angeben. Weitere Informationen |
Einstellungen für die Route mit öffentlichen Verkehrsmitteln festlegen | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Optional. Geben Sie die Einstellungen für das Routing mit öffentlichen Verkehrsmitteln an. Weitere Informationen |
Beispiel: Route für öffentliche Verkehrsmittel abrufen
Im folgenden Beispiel wird eine Route für öffentliche Verkehrsmittel mit den folgenden Parametern abgerufen:
Gibt Präferenzen für Zugfahrten und kürzere Fußwege an.
Erfordert alternative Routen.
Feldmaske angeben, die die ÖPNV-Details 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 route.legs.steps.transitDetails
-Felder 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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }