Route abrufen

Eine Route ist ein befahrbarer Weg zwischen einem Start- und einem Zielort. Sie können eine Route für verschiedene Fortbewegungsarten abrufen, z. B. zu Fuß, mit dem Fahrrad oder mit verschiedenen Fahrzeugtypen. Sie können auch Routendetails wie Entfernung, geschätzte Zeit für die Navigation der Route, erwartete Mautgebühren und eine Schritt-für-Schritt-Anleitung für die Navigation der Route anfordern.

Rufen Sie die Methode computeRoutes() auf, um eine Route zwischen zwei Standorten anzufordern. Im folgenden Beispiel wird eine Anfrage definiert und dann computeRoutes() aufgerufen, um eine Route abzurufen.

  // Import the Routes library.
  const { Route } = await google.maps.importLibrary('routes');

  // Define a computeRoutes request.
  const request = {
    origin: 'Mountain View, CA',
    destination: 'San Francisco, CA',
  };

  // Call the computeRoutes() method to get routes.
  const {routes} = await Route.computeRoutes(request);
    

Felder für die Rückgabe auswählen

Wenn Sie eine Route anfordern, müssen Sie mit einer Feldmaske angeben, welche Informationen in der Antwort zurückgegeben werden sollen. Sie können die Namen der Eigenschaften der Routenklasse in der Feldmaske angeben.

Wenn Sie eine Feldmaske verwenden, wird außerdem verhindert, dass unnötige Daten angefordert werden. Das trägt dazu bei, die Antwortlatenz zu verringern und Informationen zu vermeiden, die Ihr System nicht benötigt.

Geben Sie die Liste der benötigten Felder an, indem Sie die Property ComputeRoutesRequest.fields festlegen, wie im folgenden Snippet gezeigt:

// Define a routes request.
const request = {
  origin: 'Mountain View, CA',
  destination: 'San Francisco, CA',
  fields: ['path'], // Request fields needed to draw polylines.
};
    

Orte für eine Route angeben

Um eine Route zu berechnen, müssen Sie mindestens die Standorte des Routenursprungs und des Routenziels sowie eine Feldmaske angeben. Sie können auch Zwischenwegpunkte entlang einer Route angeben und Wegpunkte für andere Zwecke verwenden, z. B. um Stopps oder Durchgangspunkte entlang einer Route hinzuzufügen.

Im ComputeRoutesRequest können Sie einen Speicherort auf eine der folgenden Arten angeben:

Sie können Standorte für alle Wegpunkte in einer Anfrage auf dieselbe Weise angeben oder verschiedene Methoden kombinieren. Sie können beispielsweise Breiten-/Längengradkoordinaten für den Start-Waypoint und ein Place-Objekt für den Ziel-Waypoint verwenden.

Verwenden Sie zur Effizienz und Genauigkeit Place-Objekte anstelle von Breiten-/Längengradkoordinaten oder Adressstrings. Orts-IDs sind eindeutig und bieten Vorteile bei der Geocodierung für das Routing, z. B. für Zugangspunkte und Verkehrsvariablen. Sie helfen, die folgenden Situationen zu vermeiden, die durch andere Methoden zur Angabe eines Standorts entstehen können:

  • Wenn Sie Breiten-/Längenkoordinaten verwenden, wird der Standort möglicherweise an die Straße angepasst, die diesen Koordinaten am nächsten ist. Das ist aber möglicherweise kein Zugangspunkt zum Grundstück oder sogar eine Straße, die schnell oder sicher zum Ziel führt.
  • Adressstrings müssen zuerst von der Routes API geocodiert werden, um sie in Breiten- und Längengradkoordinaten zu konvertieren, bevor eine Route berechnet werden kann. Diese Umstellung kann sich auf die Leistung auswirken.

Standort als Place-Objekt angeben (bevorzugt)

Wenn Sie einen Ort mit einem Place angeben möchten, erstellen Sie eine neue Place-Instanz. Im folgenden Snippet sehen Sie, wie neue Place-Instanzen für origin und destination erstellt und dann in einem ComputeRoutesRequest verwendet werden:

// Create a new Place for the origin.
const originPlace = new Place({
  id: 'ChIJiQHsW0m3j4ARm69rRkrUF3w', // Mountain View, CA
});

// Create a new Place for the destination.
const destinationPlace = new Place({
  id: 'ChIJIQBpAG2ahYAR_6128GcTUEo', // San Francisco, CA
});

// Define a computeRoutes request.
const request = {
  origin: originPlace,
  destination: destinationPlace,
  fields: ['path'],
};
    

Breiten- und Längengradkoordinaten

Wenn Sie einen Standort als Breiten- und Längengradkoordinaten angeben möchten, erstellen Sie eine neue google.maps.LatLngLiteral-, google.maps.LatLngAltitude- oder google.maps.LatLngAltitudeLiteral-Instanz. Im folgenden Snippet sehen Sie, wie neue google.maps.LatLngLiteral-Instanzen für origin und destination erstellt und dann in einem computeRoutesRequest verwendet werden:

// Create new LatLngLiteral objects for the origin and destination.
// Mountain View, CA
const originLatLng = {lat: 37.422000, lng: -122.084058};
// San Francisco, CA
const destinationLatLng = {lat: 37.774929, lng: -122.419415};

// Define a computeRoutes request.
const request = {
  origin: originLatLng,
  destination: destinationLatLng,
  fields: ['path'],
};
    

Adressstring

Adressstrings sind Adressen, die als String dargestellt werden (z. B. „1600 Amphitheatre Parkway, Mountain View, CA“). Beim Geocoding wird eine Adresszeichenfolge in Breiten- und Längengradkoordinaten (z. B. Breitengrad 37.423021 und Längengrad -122.083739) umgewandelt.

Wenn Sie einen Adressstring als Standort eines Wegpunkts übergeben, wird der String in der Routes Library intern geocodiert, um ihn in Breiten- und Längengradkoordinaten zu konvertieren.

Im folgenden Snippet wird ein ComputeRoutesRequest mit einem Adressstring für origin und destination erstellt:

// Define a computeRoutes request.
const request = {
  origin: '1600 Amphitheatre Parkway, Mountain View, CA',
  destination: '345 Spear Street, San Francisco, CA',
  fields: ['path'],
};
    

Region für die Adresse festlegen

Wenn Sie einen unvollständigen Adressstring als Standort eines Wegpunkts übergeben, verwendet die API möglicherweise die falschen geocodierten Breiten- und Längengradkoordinaten. Sie stellen beispielsweise eine Anfrage, in der Sie „Toledo“ als Startpunkt und „Madrid“ als Ziel für eine Route mit dem Auto angeben:

// Define a request with an incomplete address string.
const request = {
  origin: 'Toledo',
  destination: 'Madrid',
};
    

In diesem Beispiel wird „Toledo“ als Stadt im Bundesstaat Ohio in den USA interpretiert, nicht in Spanien. Daher wird bei der Anfrage ein leeres Array zurückgegeben, d. h., es sind keine Routen vorhanden.

Sie können die API so konfigurieren, dass Ergebnisse zurückgegeben werden, die nach einer bestimmten Region gewichtet sind. Dazu müssen Sie den Parameter „regionCode“ einfügen. Dieser Parameter gibt den Regionscode als zweistelligen Ländercode der Top-Level-Domain (ccTLD) an. Die meisten ccTLD-Codes entsprechen den ISO 3166-1-Codes. Es gibt jedoch einige Ausnahmen. Die ccTLD des Vereinigten Königreichs ist beispielsweise „uk“ (.co.uk), der ISO 3166-1-Code lautet „gb“ (technisch für das Land „Vereinigtes Königreich Großbritannien und Nordirland“).

Eine Anfrage für die Wegbeschreibung von „Toledo“ nach „Madrid“, die den Parameter „regionCode“ enthält, gibt passende Ergebnisse zurück, da „Toledo“ als Stadt in Spanien interpretiert wird:

const request = {
  origin: 'Toledo',
  destination: 'Madrid',
  region: 'es', // Specify the region code for Spain.
};
    

Plus Code

Viele Menschen haben keine genaue Adresse, was es ihnen erschweren kann, Lieferungen zu erhalten. Nutzer mit einer Adresse möchten Lieferungen möglicherweise an bestimmten Orten wie einem Hintereingang oder einer Laderampe entgegennehmen.

Plus Codes sind wie Adressen für Personen oder Orte, die keine tatsächliche Adresse haben. Plus Codes basieren nicht auf Adressen mit Straßennamen und Hausnummern, sondern auf Breiten- und Längengradkoordinaten und werden als Zahlen und Buchstaben angezeigt.

Google hat Plus Codes entwickelt, um allen und allem die Vorteile von Adressen zu ermöglichen. Ein Plus Code ist ein codierter Verweis auf den Standort, der sich aus den Koordinaten (Breiten- und Längengrad) ableiten lässt und einen Bereich definiert: 1/8.000stel eines Grades mal 1/8.000stel eines Grades (ca. 14 m × 14 m am Äquator) oder kleiner. Sie können Plus Codes als Ersatz für Adressen verwenden, wenn keine Adressen vorhanden sind, z. B. wenn Gebäude keine Hausnummern oder Straßen keine Namen haben.

Plus Codes müssen als globaler oder als zusammengesetzter Code formatiert werden:

  • Der Global Code besteht aus einem vierstelligen Code für das Gebiet und einem mindestens sechsstelligen lokalen Code. Für die Adresse „1600 Amphitheatre Parkway, Mountain View, CA“ lautet der globale Code beispielsweise „849V“ und der lokale Code „CWC8+R9“. Sie verwenden dann den gesamten 10‑stelligen Plus Code, um den Ort als „849VCWC8+R9“ anzugeben.
  • Ein Compound Code besteht aus einem mindestens sechsstelligen lokalen Code in Kombination mit einem expliziten Ort. Die Adresse „450 Serra Mall, Stanford, CA 94305, USA“ hat beispielsweise den lokalen Code „CRHJ+C3“. Bei einer zusammengesetzten Adresse kombinieren Sie den lokalen Code mit dem Teil der Adresse, der Stadt, Bundesstaat, Postleitzahl und Land enthält, z. B. „CRHJ+C3 Stanford, CA 94305, USA“.

Das folgende Snippet zeigt, wie eine Route berechnet wird, indem ein Wegpunkt für den Routenursprung und das Ziel mit Plus Codes angegeben wird:

const request = {
  origin: '849VCWC8+R9', // Mountain View, CA
  destination: 'CRHJ+C3 Stanford, CA 94305, USA', // Stanford, CA
  fields: ['path'],
};