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 eine Anleitung zum Gehen zu, von und zwischen den Haltestellen. Da Sie für eine ÖPNV-Route in der Regel mehr als eine Mobilitätsform nutzen müssen, unterscheiden sich die Anfrage der Route und einige Teile der Antwort.
Unterschiede zwischen öffentlichen Verkehrsmitteln und anderen Routen
Öffentliche Verkehrsmittelrouten, 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 und die Antwort enthält im Vergleich zu anderen Routen unterschiedliche Felder.
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 stark der Antwort für andere Verkehrsmittel, mit einigen wichtigen Unterschieden:
Unterschiede bei Anfragen | Unterschiede bei der Antwort |
---|---|
Zwischenziele können nicht angegeben werden. | Enthält Details zu öffentlichen Verkehrsmitteln. |
Ich kann keine umweltfreundlichen Routen abrufen. | Enthält Metadaten für jeden Verkehrsmitteltyp, die eine Zusammenfassung der Schritte für diesen Verkehrsmitteltyp enthalten, im Feld „stepsOverview“. Verwenden Sie die Feldmaske „routes.legs.stepsOverview“, um diese Metadaten anzufordern. |
Es kann nicht angegeben werden, wie und ob Besucherdaten einbezogen 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 zu erhalten. Weitere Informationen finden Sie unter Erforderliche Felder für ÖPNV-Routen anfordern.
Legen Sie bei Bedarf optionale Parameter fest. Weitere Informationen finden Sie unter Parameter für eine ÖPNV-Route festlegen.
Die benötigten Felder für öffentliche Verkehrsmittel anfordern
Verwenden Sie Feldmasken, um die erforderlichen Felder für öffentliche Verkehrsmittel anzufordern. Die folgende Tabelle enthält einige Vorschläge für Antworten zu einer ÖPNV-Route und die Feldmaske, die zum Anfordern verwendet werden muss.
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 |
Endpunkt 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 Zurückzugebende Felder auswählen.
Parameter für eine ÖPNV-Route festlegen
Hier sind die relevanten Parameter für Routen für öffentliche Verkehrsmittel:
Gehen Sie dazu so vor: | 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. Legen Sie diesen Wert auf „wahr“ fest, damit die Routes API bis zu drei zusätzliche Routen berechnet, sofern verfügbar. Weitere Informationen |
Einstellungen für den Verkehrsmitteltyp festlegen | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Hinweis: Wenn Sie einen bevorzugten Verkehrsmitteltyp angeben, können die zurückgegebenen Routen auch andere Verkehrsmitteltypen verwenden, je nach Effizienz der Route und Verfügbarkeit des bevorzugten Verkehrsmittels. |
Optional. Geben Sie die bevorzugten Mobilitätsformen an. 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 mit öffentlichen Verkehrsmitteln abrufen
Im folgenden Beispiel wird eine Route mit öffentlichen Verkehrsmitteln mit den folgenden Parametern abgerufen:
Gibt die Einstellungen für Fahrten mit der Bahn und kurze 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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }