Einführung
Eine Anfrage an die Distance Matrix API (Legacy) hat das folgende Format:
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
Dabei kann outputFormat einen der folgenden Werte haben:
json(empfohlen) gibt die Ausgabe in JavaScript Object Notation (JSON) an.xmlgibt die Ausgabe als XML an.
Bestimmte Parameter sind erforderlich, während andere optional sind. Wie in URLs üblich, werden alle Parameter mit dem Und-Zeichen (&) getrennt. Alle reservierten Zeichen (z. B. das Pluszeichen „+“) müssen URL-codiert sein. Die Liste der Parameter und ihrer möglichen Werte finden Sie unten.
Erforderliche Parameter
-
Ziele
Ein oder mehrere Orte, die als Endpunkt für die Berechnung von Entfernung und Reisezeit verwendet werden sollen. Die Optionen für den Parameter „destinations“ sind dieselben wie für den Parameter „origins“.
-
Ursprünge
Der Ausgangspunkt für die Berechnung von Entfernung und Reisezeit. Sie können einen oder mehrere Orte angeben, die durch das Pipe-Zeichen (|) getrennt sind, in Form einer Orts-ID, einer Adresse oder von Breiten-/Längengradkoordinaten:
-
Orts-ID: Wenn Sie eine Orts-ID angeben, müssen Sie ihr das Präfix
place_id:voranstellen. -
Adresse: Wenn Sie eine Adresse übergeben, wird der String vom Dienst geocodiert und in Breiten- und Längengradkoordinaten umgewandelt, um die Entfernung zu berechnen. Diese Koordinate kann sich von der unterscheiden, die von der Geocoding API zurückgegeben wird, z. B. ein Gebäudeeingang anstelle des Zentrums.
Hinweis: Die Verwendung von Orts-IDs wird gegenüber der Verwendung von Adressen oder Breiten-/Längengradkoordinaten bevorzugt. Wenn Sie Koordinaten verwenden, wird der Punkt immer an die Straße in der Nähe dieser Koordinaten angedockt. Das ist möglicherweise keine Zufahrt zum Grundstück oder sogar eine Straße, die nicht schnell oder sicher zum Ziel führt. Wenn Sie die Adresse verwenden, wird die Entfernung zur Mitte des Gebäudes angegeben, nicht zu einem Eingang des Gebäudes.
- Koordinaten: Wenn Sie Breiten-/Längengradkoordinaten übergeben, werden diese an die nächstgelegene Straße angedockt. Die Übergabe einer Orts-ID wird bevorzugt. Wenn Sie Koordinaten übergeben, achten Sie darauf, dass zwischen den Breiten- und Längengradwerten kein Leerzeichen vorhanden ist.
-
Plus Codes müssen als globaler oder als zusammengesetzter Code formatiert werden. Formatieren Sie die Plus Codes wie hier gezeigt (Pluszeichen werden in der URL als %2B dargestellt, Leerzeichen als %20):
-
Global Code besteht aus einem vierstelligen Code für das Gebiet und einem mindestens sechsstelligen lokalen Code (
849VCWC8+R9wird zu849VCWC8%2BR9codiert). -
Compound Code ist ein mindestens sechsstelliger lokaler Code mit einem expliziten Ort (
CWC8+R9 Mountain View, CA, USAwird zuCWC8%2BR9%20Mountain%20View%20CA%20USAcodiert).
-
Global Code besteht aus einem vierstelligen Code für das Gebiet und einem mindestens sechsstelligen lokalen Code (
-
Codierte Polylinie: Alternativ können Sie einen codierten Satz von Koordinaten mit dem Algorithmus für codierte Polylinien angeben. Das ist besonders nützlich, wenn Sie viele Ausgangspunkte haben, da die URL bei Verwendung einer codierten Polylinie deutlich kürzer ist.
-
Codierte Polylinien müssen das Präfix
enc:haben und von einem Doppelpunkt:gefolgt werden. Beispiel:origins=enc:gfo}EtohhU: -
Sie können auch mehrere codierte Polylinien angeben, die durch das Pipe-Zeichen
|getrennt sind. Beispiel:origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
-
Codierte Polylinien müssen das Präfix
-
Orts-ID: Wenn Sie eine Orts-ID angeben, müssen Sie ihr das Präfix
Optionale Parameter
-
arrival_time
Gibt die bevorzugte Ankunftszeit für Routen mit öffentlichen Verkehrsmitteln in Sekunden seit Mitternacht am 1. Januar 1970 UTC an. Sie können entweder
departure_timeoderarrival_timeangeben, aber nicht beides.arrival_timemuss als Ganzzahl angegeben werden. -
vermeiden
Entfernungen können auch unter Berücksichtigung bestimmter Einschränkungen berechnet werden. Einschränkungen werden durch die Verwendung des Parameters „avoid“ und ein Argument für diesen Parameter angegeben, das die zu vermeidende Einschränkung angibt. Die folgenden Einschränkungen werden unterstützt:
-
tollsgibt an, dass die berechnete Route Mautstraßen/-brücken meiden soll. -
highwaysgibt an, dass für die berechnete Route Autobahnen vermieden werden sollen. -
ferriesgibt an, dass die berechnete Route Fähren vermeiden soll. -
indoorgibt an, dass die berechnete Route bei Wegbeschreibungen für Fußgänger und Routen für öffentliche Verkehrsmittel keine Treppen in Innenräumen enthalten soll.
Sie können eine Route anfordern, auf der Mautstraßen, Autobahnen und Fähren vermieden werden. Dazu müssen Sie beide Einschränkungen an den Parameter „avoid“ übergeben. Beispiel:
avoid=tolls|highways|ferriesHinweis: Das Hinzufügen von Einschränkungen schließt Routen, die die eingeschränkte Funktion enthalten, nicht aus. Es werden jedoch Routen mit besseren Ergebnissen bevorzugt. -
-
departure_time
Gibt die bevorzugte Abfahrtszeit an. Sie können die Zeit als Ganzzahl in Sekunden seit Mitternacht am 1. Januar 1970 UTC angeben. Wenn ein
departure_timenach dem 31.12.9999T23:59:59.999999999Z angegeben wird, wird dasdeparture_timein der API auf den 31.12.9999T23:59:59.999999999Z zurückgesetzt. Alternativ können Sie den Wert „now“ angeben. In diesem Fall wird die Abfahrtszeit auf die aktuelle Zeit (auf die Sekunde genau) festgelegt. Die Abreisezeit kann in zwei Fällen angegeben werden:-
Für Anfragen mit öffentlichen Verkehrsmitteln als Mobilitätsform: Optional können Sie
departure_timeoderarrival_timeangeben. Wird keine der beiden Zeiten angegeben, wird fürdeparture_timestandardmäßig die aktuelle Uhrzeit verwendet. -
Für Anfragen mit Kraftfahrzeugen als Mobilitätsform: Sie können die
departure_timeangeben, um eine Route und eine Fahrtdauer (Antwortfeld: duration_in_traffic) zu erhalten, bei denen die Verkehrslage berücksichtigt wird. Fürdeparture_timemuss die aktuelle Zeit oder eine Zeit in der Zukunft angegeben werden. Der Wert darf nicht in der Vergangenheit liegen.
Hinweis: Wenn keine Startzeit angegeben ist, beruhen die Auswahl der Route und die Reisezeit auf dem Straßennetz und der durchschnittlichen zeitunabhängigen Verkehrslage. Die Ergebnisse für eine bestimmte Anfrage können sich im Laufe der Zeit aufgrund von Änderungen im Straßennetz, Aktualisierungen der durchschnittlichen Verkehrslage und der Dezentralisierung des Diensts ändern. Außerdem können die Ergebnisse zwischen praktisch gleichwertigen Routen jederzeit und beliebig oft variieren.Hinweis: Anfragen für die Distanzmatrix, in denendeparture_timeangegeben ist, wennmode=driving, sind auf maximal 100 Elemente pro Anfrage begrenzt. Die Anzahl der Elemente ergibt sich aus der Anzahl der Startorte multipliziert mit der Anzahl der Zielorte. -
Für Anfragen mit öffentlichen Verkehrsmitteln als Mobilitätsform: Optional können Sie
-
Sprache
Die Sprache, in der die Ergebnisse zurückgegeben werden sollen.
- Hier finden Sie eine Liste der unterstützten Sprachen. Die unterstützten Sprachen werden regelmäßig von Google aktualisiert. Diese Liste ist daher möglicherweise nicht vollständig.
-
Wenn
languagenicht angegeben ist, versucht die API, die bevorzugte Sprache zu verwenden, die imAccept-Language-Header angegeben ist. - Die API versucht, eine Straßenadresse bereitzustellen, die sowohl für den Nutzer als auch für Einheimische lesbar ist. Dazu werden Straßenadressen in der Landessprache zurückgegeben, die bei Bedarf in ein für den Nutzer lesbares Schriftsystem transliteriert werden. Dabei wird die bevorzugte Sprache berücksichtigt. Alle anderen Adressen werden in der bevorzugten Sprache zurückgegeben. Alle Adresskomponenten werden in derselben Sprache zurückgegeben, die anhand der ersten Komponente ausgewählt wird.
- Wenn ein Name in der bevorzugten Sprache nicht verfügbar ist, wird die nächstgelegene Übereinstimmung verwendet.
- Die bevorzugte Sprache hat einen geringen Einfluss auf die Ergebnisse, die von der API zurückgegeben werden, und auf die Reihenfolge, in der sie zurückgegeben werden. Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. Abkürzungen für Straßentypen oder Synonyme, die in einer Sprache gültig sind, in einer anderen jedoch nicht. Beispiel: utca und tér sind Synonyme für „Straße“ auf Ungarisch.
-
Modus
Für die Berechnung von Entfernungen und Wegbeschreibungen können Sie die zu verwendende Mobilitätsform angeben. Standardmäßig wird der Modus
DRIVINGverwendet. Standardmäßig erfolgt die Routenberechnung mit dem Wert driving . Die folgenden Mobilitätsformen werden unterstützt:-
Bei
driving(Standardeinstellung) wird eine standardmäßige Wegbeschreibung oder Entfernung auf Grundlage des Straßennetzes angefordert. -
Bei
walkingwerden Fußgängerrouten oder Entfernungen auf Fußgängerwegen und Bürgersteigen (sofern vorhanden) angefordert. -
Bei
bicyclingwerden Fahrradrouten oder ‑entfernungen mit Radwegen und bevorzugten Straßen (sofern verfügbar) angefordert. -
Bei
transitwerden Routen oder Entfernungen mit öffentlichen Verkehrsmitteln angefordert (sofern verfügbar). Wenn Sie den Modus auf „transit“ festlegen, können Sie optional entweder einedeparture_timeoder einearrival_timeangeben. Wenn keine Zeit angegeben ist, wird fürdeparture_timestandardmäßig die aktuelle Uhrzeit verwendet. Optional können Sie auch eintransit_modeund/oder eintransit_routing_preferenceeinfügen.
Hinweis: Fußgänger- und Fahrradrouten enthalten unter Umständen keine ausgewiesenen Fußgänger- oder Fahrradwege. In diesen Fällen werden Warnungen im zurückgegebenen Ergebnis zurückgegeben, die Sie dem Nutzer anzeigen müssen.Hinweis: ÖPNV-Fahrten sind bis zu 7 Tage in der Vergangenheit oder bis zu 100 Tage in der Zukunft verfügbar, sofern die Datenanbieter entsprechende ÖPNV-Informationen bereitstellen. Fahrpläne für öffentliche Verkehrsmittel ändern sich häufig. Die verfügbaren Fahrten mit öffentlichen Verkehrsmitteln können sich im Laufe der Zeit ändern. Es gibt keine Garantie, dass Vorhersagen, die weit im Voraus erstellt werden, konsistente Ergebnisse liefern. -
Bei
-
Region
Der Regionscode, angegeben als zweistelliger Ländercode der Top-Level-Domain (ccTLD). 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 dagegen „gb“ (technisch für das Land „Vereinigtes Königreich Großbritannien und Nordirland“).
-
traffic_model
Gibt die Annahmen an, die bei der Berechnung der Reisezeit verwendet werden sollen. Diese Einstellung wirkt sich auf den Wert aus, der in der Antwort im Feld „duration_in_traffic“ zurückgegeben wird. Dieser enthält die voraussichtliche Reisezeit im Verkehr auf Grundlage historischer Durchschnittswerte. Der Parameter
traffic_modeldarf nur für Wegbeschreibungen angegeben werden, wenn die Anfrage einendeparture_timeenthält. Verfügbare Werte für diesen Parameter sind:-
best_guess(Standardwert) gibt an, dass die zurückgegebene duration_in_traffic die beste Schätzung der Reisezeit sein sollte. Dazu werden Verlaufs- und Echtzeitdaten zur Verkehrslage herangezogen. Die aktuelle Verkehrslage wird umso stärker gewichtet, je näher diedeparture_timerückt. -
pessimisticgibt an, dass die zurückgegebene duration_in_traffic an den meisten Tagen länger als die tatsächliche Reisezeit sein sollte. An Tagen mit besonders schlechter Verkehrslage kann dieser Wert jedoch überschritten werden. -
optimisticgibt an, dass die zurückgegebene duration_in_traffic an den meisten Tagen kürzer als die tatsächliche Reisezeit sein dürfte. An Tagen mit besonders guter Verkehrslage kann dieser Wert jedoch unterschritten werden.
Der Standardwert von
best_guessliefert für die meisten Anwendungsfälle die nützlichsten Vorhersagen. Es ist möglich, dass diebest_guess-Vorhersage für die Reisezeit kürzer alsoptimisticoder länger alspessimisticist. Das liegt daran, wie dasbest_guess-Vorhersagemodell Verkehrsinformationen in Echtzeit einbezieht. -
-
transit_mode
Gibt ein oder mehrere bevorzugte Verkehrsmittel an. Dieser Parameter darf nur für Routen mit öffentlichen Verkehrsmitteln angegeben werden. Der Parameter unterstützt die folgenden Argumente:
-
busgibt an, dass für die berechnete Route Busse bevorzugt werden sollen. -
subwaygibt an, dass für die berechnete Route U-Bahnen bevorzugt werden sollen. -
traingibt an, dass für die berechnete Route Züge bevorzugt werden sollen. -
tramgibt an, dass für die berechnete Route Straßen- und Stadtbahnen bevorzugt werden sollen. -
railgibt an, dass für die berechnete Route Züge, Straßenbahnen, Stadtbahnen und U-Bahnen bevorzugt werden sollen. Dies entsprichttransit_mode=train|tram|subway.
-
-
transit_routing_preference
Gibt Einstellungen für Routen mit öffentlichen Verkehrsmitteln an. Mit diesem Parameter können Sie die zurückgegebenen Optionen beeinflussen, anstatt die standardmäßige beste Route der API zu verwenden. Dieser Parameter darf nur für Routen mit öffentlichen Verkehrsmitteln angegeben werden. Dieser Parameter unterstützt die folgenden Argumente:
-
less_walkinggibt an, dass die berechnete Route möglichst wenige Gehstrecken enthalten soll. -
fewer_transfersgibt an, dass die berechnete Route möglichst wenige Umstiege beinhalten soll.
-
-
Einheiten
Gibt das Einheitensystem an, das bei der Anzeige von Ergebnissen verwendet werden soll.
Hinweis: Die Einstellung für das Einheitensystem wirkt sich nur auf den Text aus, der in Entfernungsfeldern angezeigt wird. Die Entfernungsfelder enthalten auch Werte, die immer in Metern angegeben werden.
Beispiele anfordern
In diesem Beispiel werden die Zielkoordinaten mit Breiten- und Längengrad angegeben:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626 &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=YOUR_API_KEY'
In diesem Beispiel werden Pluscodes verwendet, um die Zielkoordinaten anzugeben:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco &origins=849VCWC8%2BR9 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=849VCWC8%2BR9&destinations=San%20Francisco&key=YOUR_API_KEY'
Dieses Beispiel zeigt dieselbe Anfrage mit einer codierten Polylinie:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A &origins=40.6655101%2C-73.89188969999998 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A&key=YOUR_API_KEY'
Verkehrsinformationen
Verkehrsinformationen werden verwendet, wenn alle der folgenden Bedingungen zutreffen (sie sind erforderlich, um das Feld duration_in_traffic in der Distance Matrix-Antwort zu erhalten):
- Der Parameter
modeistdrivingoder nicht angegeben (drivingist die Standardmobilitätsform). - Die Anfrage enthält einen gültigen Parameter
departure_time. Fürdeparture_timekann die aktuelle oder eine Zeit in der Zukunft festgelegt werden. Der Wert darf nicht in der Vergangenheit liegen.
Optional können Sie den Parameter traffic_model in Ihre Anfrage einfügen, um die Annahmen anzugeben, die bei der Berechnung der Reisezeit verwendet werden sollen.
Mit der folgenden URL wird eine Distance Matrix-Anfrage für Fahrstrecken zwischen Boston, MA oder Charlestown, MA und Lexington, MA und Concord, MA initiiert. Die Anfrage enthält eine Abfahrtszeit und erfüllt alle Anforderungen, um das Feld duration_in_traffic in der Distance Matrix-Antwort zurückzugeben.
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?departure_time=now &destinations=Lexington%2CMA%7CConcord%2CMA &origins=Boston%2CMA%7CCharlestown%2CMA &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Boston%2CMA%7CCharlestown%2CMA&destinations=Lexington%2CMA%7CConcord%2CMA&departure_time=now&key=YOUR_API_KEY'
JSON
{ "destination_addresses": ["Lexington, MA, USA", "Concord, MA, USA"], "origin_addresses": ["Boston, MA, USA", "Charlestown, Boston, MA, USA"], "rows": [ { "elements": [ { "distance": { "text": "33.3 km", "value": 33253 }, "duration": { "text": "27 mins", "value": 1620 }, "duration_in_traffic": { "text": "34 mins", "value": 2019 }, "status": "OK", }, { "distance": { "text": "41.5 km", "value": 41491 }, "duration": { "text": "33 mins", "value": 1981 }, "duration_in_traffic": { "text": "39 mins", "value": 2342 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "31.1 km", "value": 31100 }, "duration": { "text": "26 mins", "value": 1543 }, "duration_in_traffic": { "text": "29 mins", "value": 1754 }, "status": "OK", }, { "distance": { "text": "39.3 km", "value": 39338 }, "duration": { "text": "32 mins", "value": 1904 }, "duration_in_traffic": { "text": "35 mins", "value": 2077 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Boston, MA, USA Charlestown, Boston, MA, USA Lexington, MA, USA Concord, MA, USA |
OK 1620 27 mins 33253 33.3 km 2018 34 mins OK 1981 33 mins 41491 41.5 km 2342 39 mins |
OK 1543 26 mins 31100 31.1 km 1759 29 mins OK 1904 32 mins 39338 39.3 km 2077 35 mins
Standortmodifikatoren
Mit Standortmodifikatoren können Sie angeben, wie Fahrer einen bestimmten Ort anfahren sollen. Verwenden Sie dazu den Modifikator side_of_road, um die Straßenseite anzugeben, oder geben Sie eine Richtung an, um die richtige Fahrtrichtung anzugeben.
Festlegen, dass berechnete Routen auf einer bestimmten Straßenseite verlaufen müssen
Wenn Sie einen Ort angeben, können Sie mit dem Präfix side_of_road: festlegen, dass die berechnete Route auf der Seite der Straße verläuft, auf der sich der Wegpunkt befindet. Mit dieser Anfrage wird beispielsweise die Entfernung für eine lange Route zurückgegeben, sodass das Fahrzeug auf der Straßenseite endet, auf die der Wegpunkt ausgerichtet war:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3A37.7663444%2C-122.4412006 &origins=37.7680296%2C-122.4375126 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=37.7680296%2C-122.4375126&destinations=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'
Wenn Sie side_of_road: mit codierten Polylinien verwenden, wird der Modifikator auf jeden Ort entlang der Polylinie angewendet. Beispiel: Die beiden Ziele in dieser Anfrage verwenden beide den Parameter:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A &origins=San%20Francisco%20City%20hall &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=San%20Francisco%20City%20hall&destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A&key=YOUR_API_KEY'
Der Modifikator side_of_road: darf nur mit dieser Einschränkung verwendet werden:
- Der Parameter
modeistdrivingoder nicht angegeben (drivingist die Standardmobilitätsform).
Festlegen, dass berechnete Routen eine bestimmte Richtung haben sollen
Wenn Sie einen Ort angeben, können Sie festlegen, dass die berechnete Route in einer bestimmten Richtung durch den Ort verläuft. Diese Überschrift wird mit dem Präfix heading=X: angegeben, wobei X ein ganzzahliger Gradwert zwischen 0 (einschließlich) und 360 (ausschließlich) ist. Eine Ausrichtung von 0 Grad entspricht Norden, 90 Grad Osten usw. im Uhrzeigersinn. In dieser Anfrage verläuft die berechnete Route beispielsweise zuerst östlich vom Startpunkt und macht dann eine Kehrtwende:
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=37.773245%2C-122.469502 &origins=heading%3D90%3A37.773279%2C-122.468780 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=heading%3D90%3A37.773279%2C-122.468780&destinations=37.773245%2C-122.469502&key=YOUR_API_KEY'
Der Modifikator heading=X: darf nur unter den folgenden Einschränkungen verwendet werden:
- Der Parameter
modeistdriving,bicyclingoder nicht angegeben (drivingist die Standardmobilitätsform). - Der Modifier
side_of_roadist nicht für denselben Standort angegeben. - Der Standort wird mit einem Breiten-/Längengradwert angegeben. Sie dürfen
headingnicht mit Adressen, Orts-IDs oder codierten Polylinien verwenden.
„Distance Matrix“-Anfragen und -Antworten
Unten sehen Sie eine Beispiel-HTTP-Anfrage, in der Entfernung und Dauer von Vancouver, BC, Kanada, und von Seattle, WA, USA, nach San Francisco, CA, USA, und nach Victoria, BC, Kanada, angefordert werden.
URL
https://maps.googleapis.com/maps/api/distancematrix/json ?destinations=San%20Francisco%7CVictoria%20BC &language=fr-FR &mode=bicycling &origins=Vancouver%20BC%7CSeattle &key=YOUR_API_KEY
curl
curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver%20BC%7CSeattle&destinations=San%20Francisco%7CVictoria%20BC&mode=bicycling&language=fr-FR&key=YOUR_API_KEY'
Diese Anforderung gibt vier Elemente zurück - zwei Ursprungsorte mal zwei Zielorte:
| Vancouver nach San Francisco | Vancouver nach Victoria |
| Seattle nach San Francisco | Seattle nach Victoria |
Die Ergebnisse werden in Zeilen zurückgegeben. Jede Zeile enthält einen Startort, der mit jedem Zielort kombiniert wird.
JSON
{ "destination_addresses": ["San Francisco, Californie, États-Unis", "Victoria, BC, Canada"], "origin_addresses": ["Vancouver, BC, Canada", "Seattle, Washington, États-Unis"], "rows": [ { "elements": [ { "distance": { "text": "1 712 km", "value": 1711765 }, "duration": { "text": "3 jours 16 heures", "value": 318119 }, "status": "OK", }, { "distance": { "text": "140 km", "value": 139695 }, "duration": { "text": "6 heures 49 minutes", "value": 24567 }, "status": "OK", }, ], }, { "elements": [ { "distance": { "text": "1 452 km", "value": 1451704 }, "duration": { "text": "3 jours 2 heures", "value": 266680 }, "status": "OK", }, { "distance": { "text": "146 km", "value": 146500 }, "duration": { "text": "2 heures 53 minutes", "value": 10374 }, "status": "OK", }, ], }, ], "status": "OK", }
XML
OK Vancouver, BC, Canada Seattle, Washington, États-Unis San Francisco, Californie, États-Unis Victoria, BC, Canada |
OK 318119 3 jours 16 heures 1711765 1 712 km OK 24567 6 heures 49 minutes 139695 140 km |
OK 266680 3 jours 2 heures 1451704 1 452 km OK 10374 2 heures 53 minutes 146500 146 km
DistanceMatrixResponse
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
required | Array<string> |
Ein Array von Adressen, die von der API aus Ihrer ursprünglichen Anfrage zurückgegeben werden. Wie bei |
|
required | Array<string> |
Ein Array von Adressen, die von der API aus Ihrer ursprünglichen Anfrage zurückgegeben werden. Sie werden vom Geocoder formatiert und entsprechend dem mit der Anfrage übergebenen Sprachparameter lokalisiert. Dieser Inhalt ist so zu lesen, wie er ist. Die formatierten Adressen dürfen nicht programmatisch geparst werden. |
|
required | Array<DistanceMatrixRow> |
Ein Array von Elementen, die jeweils ein Weitere Informationen finden Sie unter DistanceMatrixRow. |
|
required | DistanceMatrixStatus |
Enthält den Status der Anfrage und möglicherweise Debugging-Informationen, mit deren Hilfe Sie herausfinden können, warum die Anfrage fehlgeschlagen ist. Weitere Informationen finden Sie unter DistanceMatrixStatus. |
|
optional | String |
Ein String, der den lesbaren Text aller Fehler enthält, die bei der Verarbeitung der Anfrage aufgetreten sind. |
DistanceMatrixStatus
Statuscodes, die vom Dienst zurückgegeben werden.
OKgibt an, dass die Antwort ein gültiges Ergebnis enthält.-
INVALID_REQUESTgibt an, dass die Anfrage ungültig war. -
MAX_ELEMENTS_EXCEEDED: Das Produkt aus Start- und Zielorten überschreitet die Begrenzung pro Anfrage. -
MAX_DIMENSIONS_EXCEEDED: Die Anzahl der Start- oder Zielorte überschreitet die Begrenzung pro Anfrage. -
OVER_DAILY_LIMITkann Folgendes bedeuten:- Der API-Schlüssel fehlt oder ist ungültig.
- Die Abrechnung wurde für Ihr Konto nicht aktiviert.
- Das von Ihnen festgelegte Nutzungslimit wurde überschritten.
- Die angegebene Zahlungsmethode ist nicht mehr gültig. Das kann z. B. bei einer abgelaufenen Kreditkarte der Fall sein.
-
OVER_QUERY_LIMITgibt an, dass der Dienst innerhalb des zulässigen Zeitraums zu viele Anfragen von Ihrer Anwendung erhalten hat. -
REQUEST_DENIEDgibt an, dass die Verwendung des „Distance Matrix“-Diensts durch Ihre Anwendung abgelehnt wurde. -
UNKNOWN_ERRORgibt an, dass eine „Distance Matrix“-Anfrage aufgrund eines Serverfehlers nicht verarbeitet werden konnte. Die Anfrage ist möglicherweise erfolgreich, wenn Sie es erneut versuchen.
DistanceMatrixRow
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
required | Array<DistanceMatrixElement> |
Wenn die Distance Matrix API Ergebnisse zurückgibt, werden diese in einem JSON-Array mit Zeilen platziert. Auch wenn keine Ergebnisse zurückgegeben werden (z. B. wenn die Ausgangspunkte und/oder Ziele nicht vorhanden sind), wird ein leeres Array zurückgegeben. Die Zeilen werden entsprechend den Werten im Parameter „origin“ der Anfrage sortiert. Jede Zeile entspricht einem Startort und jedes Element in dieser Zeile entspricht einem Paar aus dem Startort und einem Zielwert. Jedes Zeilenarray enthält einen oder mehrere Element-Einträge, die wiederum die Informationen zu einem einzelnen Start-Ziel-Paar enthalten. Weitere Informationen finden Sie unter DistanceMatrixElement. |
DistanceMatrixElement
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
required | DistanceMatrixElementStatus |
Ein Status für das Element. Weitere Informationen finden Sie unter DistanceMatrixElementStatus. |
|
optional | TextValueObject |
Die Gesamtstrecke dieser Route in Metern (Wert) und als Text. Für den Textwert wird das Einheitensystem verwendet, das mit dem Parameter „unit“ der ursprünglichen Anfrage oder der Region des Ursprungs angegeben wurde. Weitere Informationen finden Sie unter TextValueObject. |
|
optional | TextValueObject |
Die Reisezeit für diese Route in Sekunden (Feld „value“) und als Text. Die textuelle Darstellung wird entsprechend dem Sprachparameter der Anfrage lokalisiert. Weitere Informationen finden Sie unter TextValueObject. |
|
optional | TextValueObject |
Die Zeit, die für die Fahrt auf dieser Route benötigt wird, basierend auf aktuellen und bisherigen Verkehrsbedingungen. Informationen zu den Optionen, mit denen Sie anfordern können, dass der zurückgegebene Wert optimistisch, pessimistisch oder eine Schätzung ist, finden Sie im Anfrageparameter
Weitere Informationen finden Sie unter TextValueObject. |
|
optional | Fahrpreis |
Falls vorhanden, enthält der Wert den Gesamtfahrpreis (die gesamten Fahrkartenkosten) für diese Route. Diese Eigenschaft wird nur für Anfragen für Routen mit öffentlichen Verkehrsmitteln zurückgegeben und nur, wenn der entsprechende Anbieter Fahrpreisinformationen zur Verfügung stellt. Weitere Informationen finden Sie unter Fahrpreis. |
Preis
Der Gesamtfahrpreis für die Route.
{
"currency" : "USD",
"value" : 6,
"text" : "$6.00"
}
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
erforderlich | String |
Ein Währungscode nach ISO 4217 für die Währung des Betrags. |
|
required | String |
Der Gesamtbetrag im Format der angeforderten Sprache. |
|
required | Zahl |
Der Gesamtfahrpreis in der angegebenen Währung. |
DistanceMatrixElementStatus
OKgibt an, dass die Antwort ein gültiges Ergebnis enthält.-
NOT_FOUNDgibt an, dass der Start- und/oder Zielort dieses Paars nicht geocodiert werden konnte. -
ZERO_RESULTSgibt an, dass keine Route zwischen Start- und Zielort gefunden werden konnte. -
MAX_ROUTE_LENGTH_EXCEEDEDgibt an, dass die angeforderte Route zu lang ist und nicht verarbeitet werden kann.
TextValueObject
Ein Objekt, das einen numerischen Wert und seine formatierte Textdarstellung enthält.
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
erforderlich | String |
Stringwert. |
|
required | Zahl |
Numerischer Wert. |