Routenantwort prüfen

Beim Berechnen einer Route durch die Routes API werden Wegpunkte und Konfigurationsparameter, die Sie als Eingabe angeben. Die API gibt dann eine Antwort , die die default-Route und eine oder mehrere alternative Routen enthält.

Ihre Antwort kann verschiedene Arten von Routen und andere Daten enthalten, je nachdem, Felder, die Sie anfordern:

Um dies in die Antwort aufzunehmen Siehe diese Dokumentation
Die sprit- oder energieeffizienteste Route (basierend auf dem Motortyp des Fahrzeugs). Energiesparende Routen konfigurieren
Bis zu drei alternative Routen Alternative Routen anfordern
Die Polylinie für die gesamte Route, für jeden Abschnitt einer Route und für jeden Schritt Bein. Polylinien für Routen anfordern
Geschätzte Mautgebühren unter Berücksichtigung von eventuellen Rabatten auf Mautgebühren oder Pässe gibt, die für den Fahrer oder Fahrzeug verfügbar sind. Mautgebühren berechnen
Lokalisierte Antworten nach Sprachcodes und Maßeinheiten (imperial oder Messwert). Lokalisierte Werte anfordern
Um die Navigationsanweisungen als HTML-Textstring zu formatieren, fügen Sie HTML_FORMATTED_NAVIGATION_INSTRUCTIONS zu extraComputations. Zusätzliche Berechnungen

Eine vollständige Liste der Eingabeoptionen finden Sie unter Verfügbare Routenoptionen. und die Anfragetext:

Mithilfe der Antwort können Sie Ihren Kunden um die richtige Route für ihre Anforderungen auszuwählen.

Feldmasken

Wenn Sie eine Methode zum Berechnen einer Route aufrufen, müssen Sie ein Feld angeben -Maske, die definiert, welche Felder in der Antwort zurückgegeben werden sollen. Es gibt keine Standardliste zurückgegebener Felder. Wenn Sie diese Liste auslassen, geben die Methoden ein Fehler.

Die Beispiele in diesem Dokument zeigen das gesamte Antwortobjekt, Feldmasken berücksichtigt. In einer Produktionsumgebung würde Ihre Antwort enthalten nur die Felder, die Sie in der Feldmaske explizit angeben.

Weitere Informationen finden Sie unter Auswählen, welche Informationen zurückgegeben werden sollen.

Informationen zum Anzeigen von Urheberrechten

Wenn Sie Ihren Nutzern die Ergebnisse anzeigen, müssen Sie die folgenden Urheberrechtshinweise angeben:

Powered by Google, ©YEAR Google

Beispiel:

Powered by Google, ©2023 Google

Routen, Streckenabschnitte und Schritte

Bevor Sie sich die von der Routes API zurückgegebene Antwort ansehen, müssen Sie sollte mit den Komponenten einer Route vertraut sein:

Die Route, das Streckenabschnitt und der Schritt.

Ihre Antwort kann Informationen zu jeder der folgenden Routenkomponenten enthalten:

  • Route: Die gesamte Fahrt vom Start-Wegpunkt über beliebige Wegpunkte bis zum Zielwegpunkt. Eine Route besteht aus einem oder mehr legs haben.

  • Abschnitt: der Pfad von einem Wegpunkt auf einer Route zum nächsten Wegpunkt in Route. Jeder Abschnitt besteht aus einem oder mehreren diskreten Schritten.

    Eine Route enthält einen separaten Abschnitt für den Pfad von jedem Wegpunkt zum nächsten. Wenn die Route z. B. einen Ausgangswegpunkt und einen einzigen Zielwegpunkt ist, enthält die Route einen einzelnen Streckenabschnitt. Für jede zusätzlichen Wegpunkt, den Sie hinter dem Ausgangs- und Zielort zur Route hinzufügen, als Zwischenwegpunkt bezeichnet, fügt die API einen separaten Streckenabschnitt hinzu.

    Die API fügt keinen Abschnitt für einen Passthrough-Zwischenwegpunkt hinzu. Für Eine Route mit einem Ausgangswegpunkt, einer Durchfahrt Zwischenwegpunkt und ein Zielwegpunkt nur einen Streckenabschnitt von den Startpunkt zum Ziel, während sie den Wegpunkt durchquert. Weitere Informationen Informationen zu Wegpunkten zur Weiterleitung finden Sie unter Legen Sie einen Pass-Through-Wegpunkt fest.

  • Schritt: eine einzelne Anweisung für einen Streckenabschnitt. Ein Schritt ist die atomare Einheit einer Route. Bei einem Schritt könnte beispielsweise Folgendes angezeigt werden: „Auf Hauptseite nach links abbiegen“ Straße".

Inhalt der Antwort

JSON-Objekt die die API-Antwort darstellt, die folgenden Eigenschaften auf oberster Ebene enthält:

  • routes: ein Array von Elementen des Typs Route. Das Array routes enthält ein Element für jede von der API zurückgegebene Route. Das Array kann maximal fünf Elemente enthalten: Standardroute, und bis zu drei alternative Routen berechnen.

  • geocodingResults: ein Array von Elementen des Typs GeocodingResults Für jeden Standort in der Anfrage (Ursprung, Ziel oder Zwischenort Wegpunkt), den Sie als Adressstring oder als Plus Code angegeben haben, die API eine Orts-ID-Suche durchführt. Jedes Element dieses Arrays enthält den Wert Orts-ID, die einem Standort entspricht. Standorte, die in der Anfrage angegeben sind als Eine Orts-ID oder Breitengrad/Längengrad-Koordinaten sind nicht enthalten. Wenn Sie alle Standorte mithilfe von Orts-IDs oder Breiten- und Längengraden angegeben haben Koordinaten, wird dieses Array nicht bereitgestellt.

  • fallbackInfo vom Typ FallbackInfo. Wenn die API nicht in der Lage ist, eine Route aus allen Eingabeattributen zu berechnen, kann ein Fallback auf eine andere Berechnungsmethode sein. Bei Fallback Modus verwendet wird, enthält dieses Feld detaillierte Informationen zum Fallback Antwort. Andernfalls ist dieses Feld nicht festgelegt.

Die Antwort hat folgende Form:

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

Routen-Array entschlüsseln

Die Antwort enthält das Array routes, wobei jedes Arrayelement vom Typ ist. Route. Jedes Array-Element stellt eine gesamte Route vom Start- zum Zielort dar. Die Die API gibt immer mindestens eine Route zurück. Diese wird als Standardroute bezeichnet.

Sie können zusätzliche Routen anfordern. Wenn Sie eine umweltfreundliche Route festgelegt haben, kann das Array zwei Elemente enthalten: den und die spritsparende Route. Oder setze computeAlternativeRoutes auf true in die Anfrage ein, um der Antwort bis zu drei alternative Routen hinzuzufügen.

Jede Route im Array wird durch das Arrayattribut routeLabels identifiziert:

Wert Beschreibung
DEFAULT_ROUTE Kennzeichnet die Standardroute.
FUEL_EFFICIENT Kennzeichnet die spritsparende Route.
DEFAULT_ROUTE_ALTERNATE gibt eine alternative Route an.

Das Array legs enthält die Definition jedes Abschnitts der Route. Die verbleibenden wie distanceMeters, duration und polyline, enthalten Informationen zur Route als Ganzes:

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

Aufgrund der aktuellen Fahrbedingungen und anderer Faktoren werden die Standardroute und die spritsparende Route gleich sein kann. In diesem Fall ist das routeLabels-Array. enthält beide Labels: DEFAULT_ROUTE und FUEL_EFFICIENT.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     
    }
  ]
}

Informationen zum Array „legs“

Jede route in der Antwort enthält ein legs-Array, wobei jedes legs-Array Element ist vom Typ RouteLeg Jeder Abschnitt im Array definiert den Pfad von einem Wegpunkt zum nächsten Wegpunkt. entlang der Route. Eine Route besteht immer aus mindestens einem Abschnitt.

Das Attribut legs enthält die Definition der einzelnen Schritte entlang des Abschnitts im steps-Array. Die verbleibenden Attribute, z. B. distanceMeters, duration, und polyline enthalten Informationen zum Streckenabschnitt.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

Das Array der Schritte

Jeder Abschnitt der Antwort enthält ein steps-Array, wobei jedes steps-Array Element ist vom Typ RouteLegStep Ein Schritt entspricht einer einzelnen Anweisung entlang des Abschnitts. Ein Streckenabschnitt enthält immer mindestens einen Schritt.

Jedes Element im steps-Array enthält navigationInstruction Property des Typs NavigationInstruction, der die Schrittanweisung enthält. Beispiel:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

instructions enthält möglicherweise zusätzliche Informationen zu dem Schritt. Beispiel:

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

Die verbleibenden Eigenschaften des Schritts beschreiben Informationen zu dem Schritt, z. B.: als distanceMeters, duration und polyline:

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

Sprache für die Schrittanleitung angeben

Die API gibt Routeninformationen in der Landessprache zurück, falls notwendig für den Nutzer lesbar, unter Beachtung der bevorzugten Einstellung Sprache. Alle Adresskomponenten werden in derselben Sprache zurückgegeben.

  • Verwenden Sie den Parameter languageCode einer Anfrage an die Routingsprache explizit aus der Liste der unterstützten Sprachen. Google aktualisiert die unterstützten Sprachen sprechen, daher ist diese Liste unter Umständen nicht vollständig.

  • Wenn in der angegebenen Sprache kein Name verfügbar ist, verwendet die API den am genauesten übereinstimmen.

  • Die angegebene Sprache kann die Ergebnisse beeinflussen, die vom Die API wählt die Rückgabe und die Reihenfolge aus, in der sie zurückgegeben werden. Die Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. die Abkürzungen für Straßentypen oder Synonyme, die in einer Sprache, aber nicht in einer anderen. Beispiel: utca und tér sind Synonyme für auf Ungarisch.

Informationen zum Array „GeocodingResults“

Für jeden Standort in der Anfrage (Ursprung, Ziel oder Zwischenort Wegpunkt), der als Adressstring oder als Plus Code angegeben wurde, hat der Die API versucht, den relevantesten Standort zu finden, der einen entsprechenden Ort hat ID. Jedes Element des geocodingResults Array enthält das Feld placeID mit dem Standort als Orts-ID und dem Feld type, das den Standort angibt -Typ, z. B. street_address, premise oder airport.

Das Array geocodingResults enthält drei Felder:

  • origin: Wenn es als Adressstring oder als Plus Code angegeben wurde, wird der Orts-ID des Ausgangsorts. Andernfalls wird dieses Feld in der Antwort weggelassen.

  • destination: Wenn es als Adressstring oder als Plus Code angegeben wurde, Die Orts-ID des Ziels Andernfalls wird dieses Feld im Antwort.

  • intermediates: ein Array, das die Orts-ID eines beliebigen Zwischenobjekts enthält als Adressstring oder als Plus Code angegeben werden. Wenn Sie mit einer Orts-ID oder einem Breitengrad und Längengradkoordinaten angegeben werden, wird er in der Antwort ausgelassen. Verwenden Sie die Methode intermediateWaypointRequestIndex-Attribut in der Antwort, um zu bestimmen, Welcher Wegpunkt in der Anfrage der Orts-ID in auf die Antwort.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

Informationen zu lokalisierten Antwortwerten

Lokalisierte Antwortwerte sind ein zusätzliches Antwortfeld, lokalisierten Text für zurückgegebene Parameterwerte. Es wird lokalisierter Text bereitgestellt für Fahrtdauer, Strecke und Einheitensystem (metrisch oder imperial). Ihre Anfrage mithilfe einer Feldmaske lokalisierte Werte und kann entweder die Sprache und oder die vom API abgeleiteten Werte verwenden. Weitere Informationen finden Sie unter LocalizedValues

Wenn Sie beispielsweise einen Sprachcode für Deutsch (de) und angloamerikanisches erhalten Sie für distanceMeters einen Wert von 49889, 7, sondern auch lokalisierten Text auf Deutsch und imperiale Einheiten, also "31 Meile".

Hier ist ein Beispiel für lokalisierte Werte:

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

Wenn Sie keine Sprache oder kein Einheitensystem angeben, leitet die API die Sprache ab. und Einheiten wie folgt:

  • Die Methode ComputeRoutes leitet Standort und Entfernung ab Einheiten vom Ausgangswegpunkt entfernt. Für eine Routinganfrage in den USA leitet die Sprache en-US und IMPERIAL-Einheiten ab.
  • Die Methode ComputeRouteMatrix ist standardmäßig auf „en-US“ festgelegt. Sprache und METRIC-Einheiten.