Route für öffentliche Verkehrsmittel abrufen

Eine Route für öffentliche Verkehrsmittel bietet eine Anleitung für die Navigation mit öffentlichen Verkehrsmitteln. die in der Region verfügbar sind. Mögliche Verkehrsmittel sind Busse, U-Bahnen und Zügen usw. Eine Route mit öffentlichen Verkehrsmitteln enthält in der Regel auch Anweisungen zur zu Fuß zu, von und zwischen den Haltestellen. Da eine Route für öffentliche Verkehrsmittel müssen Sie normalerweise mehrere Mobilitätsformen nutzen. und einige Teile der Antwort unterscheiden sich.

Unterschiede zwischen Routen mit öffentlichen Verkehrsmitteln und anderen Routen

Routen mit öffentlichen Verkehrsmitteln, die Sie durch Festlegen eines „travelMode“ von TRANSIT anfordern, unterscheiden sich von Routen mit verschiedenen „travelMode“-Optionen unterscheiden. Sie können nicht alle Objekte und Optionen anfordern. Die Antwort gibt im Vergleich zu anderen Routen.

In der Routes API stellen Schritte durchgängig eine Navigationsanweisung dar. für alle Arten von Reisen. Jede Navigationsanweisung ist also ein Schritt. Öffentliche Verkehrsmittel Die Reaktionszeit ist sehr ähnlich wie bei Routen mit anderen Mobilitätsformen. Es gibt nur wenige Unterschiede:

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 Mobilitätsform aus. Verwenden Sie zum Anfordern dieser Metadaten die Methode 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
transitPreferences kann nur angegeben werden für routingPreference. 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 für Routen mit öffentlichen Verkehrsmitteln ansehen

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 Fordern Sie die erforderlichen Felder für Routen mit öffentlichen Verkehrsmitteln an.

  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. In der folgenden Tabelle enthält einige Antwortvorschläge für eine öffentliche Verkehrsmittel Route und die Feldmaske, mit der sie angefordert werden sollen.

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
den geschätzten Fahrpreis für jeden Schritt und die Route Lokalisierter geschätzter Preis routes.travel_advisory.transitFare localized routes.localizedValues.transitFare

Hinweis: transitFare wird nur angegeben, wenn die API Fahrpreisinformationen für alle Schritte ermitteln.

Lokalisierter Text für Dauer und Entfernung routes.localizedValues

Weitere Informationen zum Festlegen von Feldmasken finden Sie unter Wählen Sie die Felder aus, die zurückgegeben werden sollen.

Parameter für eine Route mit öffentlichen Verkehrsmitteln festlegen

Folgende Parameter sind für Routen mit öffentlichen Verkehrsmitteln relevant:

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“ (Ankunftszeit) oder „pickup_time“ (Abreisezeit) angeben. Wenn keine Zeit angegeben ist, wird für departure_time standardmäßig die aktuelle Ausführungszeit (now). Sie können Ankunfts- und Abfahrtszeiten nur im folgenden Zeitfenster, mit den aktuellen Ausführungszeit (now) als Referenz: <ph type="x-smartling-placeholder">
    </ph>
  • bis einschließlich 7 Tage vor now
  • bis einschließlich 100 Tage nach now
Die Zeit wird als Zeitstempel in RFC3339 UTC "Zulu" ausgedrückt. Format. Weitere Informationen
Alternative Routen einschließen "computeAlternativeRoutes": true Optional. Legen Sie dies auf „true“ fest, damit die Routes API bis zu drei berechnet zusätzliche Routen, falls verfügbar. 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, werden zurückgegebene Routen möglicherweise weiterhin andere öffentliche Verkehrsmittel nutzen, auch nur andere, je nach die Effizienz der Route und die Verfügbarkeit der bevorzugten auf Reisen.

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
          }
        },
        {},
        {},
        {},
        {},
        {},
        {}
        ]
      }
    ]
  }
]
}