Eine Route für öffentliche Verkehrsmittel enthält Navigationsanweisungen für die in der Region verfügbaren öffentlichen Verkehrsmittel. Zu den Optionen für öffentliche Verkehrsmittel gehören unter anderem Busse, U-Bahnen und Züge. Eine Route für öffentliche Verkehrsmittel enthält in der Regel auch Anweisungen zum Gehen zu, von und zwischen Haltestellen. Da für eine Route mit öffentlichen Verkehrsmitteln in der Regel mehr als ein Verkehrsmittel erforderlich ist, unterscheidet sich die Art und Weise, wie Sie die Route anfordern, und einige Teile der Antwort.
Unterschiede zwischen ÖPNV-Routen und anderen Routen
Routen mit öffentlichen Verkehrsmitteln, die Sie durch Festlegen von „travelMode“ auf „TRANSIT“ anfordern, 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 ist ein Schritt immer eine Navigationsanweisung für alle Arten von Fortbewegungsmitteln. Jede Navigationsanweisung ist also ein Schritt. Eine Antwort für eine Transitstrecke ähnelt Routen mit anderen Fortbewegungsmitteln, es gibt jedoch einige wichtige Unterschiede:
Unterschiede bei Anfragen | Unterschiede bei den Antworten |
---|---|
Sie können keine Zwischenziele angeben. | Enthält Transitdetails. |
Keine verbrauchsarme Routenplanung möglich | Enthält Metadaten für jeden Verkehrsmittelmodus, die die Zusammenfassung der Schritte für diesen Verkehrsmittelmodus in `stepsOverview` enthalten (um diese Metadaten anzufordern, verwenden Sie die Feldmaske `routes.legs.stepsOverview`). |
Es kann nicht angegeben werden, wie und ob Verkehrsdaten einbezogen werden sollen. | |
Zu vermeidende Routenfunktionen können nicht angegeben werden | |
transitPreferences kann nur für routingPreference angegeben werden. Weitere Informationen finden Sie unter TransitPreferences . |
Weitere Informationen zu den von der Routes API zurückgegebenen Antworten finden Sie unter Antworten für ÖPNV-Routen prüfen.
Route für öffentliche Verkehrsmittel abrufen
Legen Sie 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 ÖPNV-Routenfelder anfordern.
Legen Sie bei Bedarf optionale Parameter fest. Weitere Informationen finden Sie unter Parameter für eine Transitroute festlegen.
Felder für die ÖPNV-Route anfordern
Fordern Sie die benötigten Felder für die Transitstrecke mit Feldmasken an. Die folgende Tabelle enthält einige vorgeschlagene Antworten für eine Transitstrecke und die Feldmaske, die zum Anfordern dieser Antworten 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 jede Etappe | routes.legs.steps.endLocation |
Routen-Polylinie für jeden Schritt | routes.legs.steps.polyline |
Art des Transits 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 ÖPNV-Route festlegen
Hier sind die relevanten Parameter für Routen mit öffentlichen Verkehrsmitteln:
Aktivität | Diesen Parameter verwenden | Hinweise |
---|---|---|
Öffentliches 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 „arrival_time“ oder „departure_time“ angeben. Wenn keine Zeit angegeben ist, wird für departure_time standardmäßig die aktuelle Ausführungszeit (now ) verwendet. Ankunfts- und Abfahrtszeiten können nur innerhalb des folgenden Zeitfensters festgelegt werden, wobei die aktuelle Ausführungszeit (now ) als Referenz dient:
Hinweis: Fahrpläne für öffentliche Verkehrsmittel ändern sich häufig. Die verfügbaren Fahrten können sich im Laufe der Zeit ändern. Es gibt keine Garantie, dass Vorhersagen, die weit im Voraus erstellt werden, konsistente Ergebnisse liefern. |
Ausweichrouten einbeziehen | "computeAlternativeRoutes": true |
Optional. Auf „true“ setzen, damit Compute Routes bis zu drei zusätzliche Routen berechnet, sofern verfügbar. Weitere Informationen |
Einstellungen für den Verkehrsmitteltyp angeben | "transitPreferences": { allowedTravelModes: ["BUS","SUBWAY","TRAIN","LIGHT_RAIL","RAIL"]}
Hinweis: Wenn Sie eine bevorzugte Verkehrsmittelart angeben, können die zurückgegebenen Routen je nach Effizienz der Route und Verfügbarkeit der bevorzugten Verkehrsmittelart auch andere Verkehrsmittelarten verwenden oder nur andere Verkehrsmittelarten verwenden. |
Optional. Geben Sie bevorzugte Verkehrsmittel an. Weitere Informationen |
Einstellungen für die Route mit öffentlichen Verkehrsmitteln festlegen | "transitPreferences": {routingPreference: "LESS_WALKING|FEWER_TRANSFERS"} |
Optional. Einstellungen für Routen mit öffentlichen Verkehrsmitteln festlegen 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.
Gibt eine Feldmaske zurück, die die Transitdetails enthält:
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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }