Route für öffentliche Verkehrsmittel abrufen

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

  1. Legen Sie Ihren Start- und Zielort fest.

  2. Mobilitätsform als Mobilitätsform festlegen:

    travelMode: "TRANSIT"

  3. 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.

  4. 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: transitFare wird nur angegeben, wenn die API für alle Schritte Fahrpreisinformationen ermitteln kann.

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:
  • bis einschließlich 7 Tage vor now
  • bis einschließlich 100 Tage nach now
Die Zeit wird als Zeitstempel im Format RFC3339 UTC "Zulu" ausgedrückt. Weitere Informationen
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
          }
        },
        {},
        {},
        {},
        {},
        {},
        {}
        ]
      }
    ]
  }
]
}