Bei Routen für öffentliche Verkehrsmittel werden die in der Region verfügbaren öffentlichen Verkehrsmittel verwendet. Als öffentliche Verkehrsmittel können Sie unter anderem Busse, U-Bahnen und Züge nutzen. 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 Anfrage zur Route und einige Teile der Antwort.
Unterschiede zwischen Routen mit öffentlichen Verkehrsmitteln und anderen Routen
Routen mit öffentlichen Verkehrsmitteln, die Sie anfordern, indem Sie als „travelMode“ den Wert TRANSIT 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 stellen Schritte einheitlich eine Navigationsanweisung für alle Arten von Fahrten dar. Jede Navigationsanweisung ist also ein Schritt. Eine Antwort auf Routen für öffentliche Verkehrsmittel ähnelt Routen mit anderen Mobilitätsformen, mit einigen wesentlichen Unterschieden:
Unterschiede bei Anfragen | Antwortunterschiede |
---|---|
Wegpunkte können nicht angegeben werden. | Umfasst 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 Routenfunktionen angegeben werden, die vermieden werden sollen | |
Für routingPreference kann nur transitPreferences angegeben werden. Weitere Informationen finden Sie unter [TransitPreferences](reference/rest/v2/TransitPreferences). |
Weitere Informationen zur Antwort, die von der Routes API zurückgegeben wird, finden Sie unter Antworten auf Routen mit öffentlichen Verkehrsmitteln prüfen.
Route mit öffentlichen Verkehrsmitteln berechnen
Legen Sie Ihren Start- und Zielort fest.
Mobilitätsform als Mobilitätsform festlegen:
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 Route mit öffentlichen Verkehrsmitteln festlegen.
Benötigte Felder für Routen mit öffentlichen Verkehrsmitteln anfordern
Fordern Sie die benötigten Felder für die Route mit Feldmasken an. 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.
Um diese Informationen anzufordern | Diese Feldmaske verwenden |
---|---|
Alle Routendetails | routes.* |
Alle Details zu öffentlichen Verkehrsmitteln | routes.legs.steps.transitDetails |
Startposition für jeden Abschnitt | routes.legs.steps.startLocation |
Endposition für jeden Abschnitt | routes.legs.steps.endLocation |
Polylinie für jeden Schritt | routes.legs.steps.polyline |
Art des öffentlichen Verkehrsmittels, das für jeden Schritt verwendet wird | 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 Felder für die Rückgabe auswählen.
Parameter für eine Route mit öffentlichen Verkehrsmitteln festlegen
Relevante Parameter für Routen mit öffentlichen Verkehrsmitteln:
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 „ex erfolgte Abfahrtszeit“ angeben. Wenn keine der beiden Zeiten 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 zurückgegebene 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. Legen Sie Einstellungen für die Routenplanung für öffentliche Verkehrsmittel fest. 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.
Fordert alternative Routen an.
Stellt eine Feldmaske bereit, 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 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 } }, {}, {}, {}, {}, {}, {} ] } ] } ] }