Dieser Dienst ist auch als Teil von Google Maps JavaScript API oder mit den Java- und Python-Clientbibliotheken verfügbar.
Einführung
Die Google Maps Directions API ist ein Dienst, mit dem Wegbeschreibungen zwischen Standorten per HTTP-Anforderung berechnet werden können.
In diesem Video wird gezeigt, wie die Google Maps Directions API zur Navigation verwendet wird. Das Video enthält auch eine Anleitung zur Verwendung Ihres Servers als Proxy für den Webdienst, damit bei Verwendung der API in einer mobilen App Ihr API-Schlüssel geschützt bleibt.
Es kann nach Wegbeschreibungen für verschiedene Transportmittel gesucht werden, darunter Beschreibungen mit öffentlichen Verkehrsmitteln, Kraftfahrzeugen, für Fußgänger oder Radfahrer. In den Wegbeschreibungen können Ausgangspunkt, Ziel und Wegpunkte als Zeichenfolgen (z. B. „Chicago, IL“ oder „Darwin, NT, Australien“) oder als Koordinaten (Längen- und Breitengrad) angegeben werden. Die Directions API kann mehrteilige Wegbeschreibungen ausgeben, wenn eine Reihe von Wegpunkten angegeben wird.
Dieser Dienst dient zur Berechnung von Wegbeschreibungen für statische (bekannte) Adressen, um App-Inhalte in einer Karte zu platzieren. Er dient nicht dazu, in Echtzeit auf Benutzereingaben zu reagieren. Hinweise zu dynamischen Berechnungen (z. B. in einem UI-Element) erhalten Sie in der Dokumentation zum Google Maps JavaScript API Directions Service.
Die Berechnung von Wegbeschreibungen ist eine aufwändige Aufgabe. Berechnen Sie bekannte Adressen daher mithilfe des hier vorgestellten Dienstes soweit möglich im Voraus und speichern Sie die Ergebnisse in einem Cache.
Schlüssel anfordern Nutzungsbeschränkungen
Zielgruppe
Dieses Dokument richtet sich an Entwickler von Websites und mobilen Anwendungen, die Wegbeschreibungen in Karten berechnen möchten, die von einer der Google Maps APIs bereitgestellt werden. Es enthält eine Einführung zur Verwendung der API und Informationen zu den verfügbaren Parametern.
Wegbeschreibungsanforderungen
Eine Google Maps Directions API-Anforderung weist folgendes Format auf:
https://maps.googleapis.com/maps/api/directions/output?parameters
wobei output einen der folgenden Werte haben kann:
json(empfohlen) gibt die Ausgabe in JavaScript Object Notation (JSON) anxmlgibt die Ausgabe in XML an
Um über HTTP auf die Google Maps Directions API zuzugreifen, verwenden Sie:
http://maps.googleapis.com/maps/api/directions/output?parameters
Für Anwendungen, die in den Anforderungen persönliche Daten von Benutzern wie z. B. Standortangaben enthalten, wird HTTPS empfohlen.
Google Maps Directions API-URLs sind auf ca. 2000 Zeichen beschränkt, inklusive URL-Kodierung. Beachten Sie beim Erstellen der URLs, dass einige Google Maps Directions API-URLs viele Orte entlang eines Pfades enthalten können.
Anforderungsparameter
Einige Parameter sind erforderlich, während andere optional verwendet werden können. Standardmäßig werden alle Parameter in URLs durch ein kaufmännisches Und (&) getrennt. Die Liste der Parameter und deren mögliche Werte sind unten aufgeführt.
Erforderliche Parameter
origin— die Adresse, der Textwert mit Längen- und Breitengrad oder die Orts-ID, von der/dem aus die Wegbeschreibung berechnet werden soll.- Wenn Sie eine Adresse als Zeichenfolge übergeben, wird diese durch den Directions-Dienst in eine Koordinate mit Längen- und Breitengrad umgewandelt, um die Wegbeschreibung berechnen zu können. Diese Koordinate kann sich von der Koordinate unterscheiden, die durch die Google Maps Geocoding API zurückgegeben wird. Sie kann bspw. einen Gebäudeeingang anstelle der Gebäudemitte bezeichnen.
- Wenn Sie Koordinaten übergeben, werden diese unverändert verwendet. Beachten Sie, dass sich zwischen den Werten für den Längen- und den Breitengrad kein Leerzeichen befinden darf.
- Orts-IDs muss
place_id:vorangestellt sein. Die Orts-ID kann nur angegeben werden, wenn die Anforderung einen API-Schlüssel oder eine Google Maps API for Work-Client-ID enthält. Orts-IDs können mithilfe der Google Maps Geocoding API und der Google Places API (einschl. Autovervollständigung von Orten) abgerufen werden. Ein Beispiel, in dem Orts-IDs aus der Autovervollständigung von Orten verwendet werden, finden Sie unter Autovervollständigung von Orten und Wegbeschreibungen. Weitere Informationen zu Orts-IDs finden Sie unter Orts-IDs – Übersicht.
destination— die Adresse, der Textwert mit Längen- und Breitengrad oder die Orts-ID, bis zu der/dem die Wegbeschreibung berechnet werden soll. Die Optionen für den Parameterdestinationentsprechen den Optionen des oben beschriebenen Parametersorigin.key— der API-Schlüssel Ihrer Anwendung. Dieser Schlüssel identifiziert Ihre Anwendung für das Kontingentmanagement. So können Sie einen Schlüssel anfordern.
Hinweis: Benutzer von Google Maps API for Work müssen ihren Directions-Anforderungen gültige client- und signature-Parameter hinzufügen. Weitere Informationen erhalten Sie im Kapitel Google Maps API for Work Webdienste.
Optionale Parameter
mode(Standard:driving) — gibt das Transportmittel an, auf dem die Berechnung der Wegbeschreibung basieren soll. Die gültigen Werte und weitere Einzelheiten zu Anforderungen finden Sie unter Transportmittel.waypoints— gibt ein Array von Wegpunkten an. Wegpunkte sind bestimmte Orte, über die die Route geführt wird. Sie werden als Koordinaten (Längen- und Breitengrad), Orts-IDs oder als Adressen angegeben, die geocodiert werden. Orts-IDs mussplace_id:vorangestellt sein. Die Orts-ID kann nur angegeben werden, wenn die Anforderung einen API-Schlüssel oder eine Google Maps API for Work-Client-ID enthält. Wegpunkte werden nur für Wegbeschreibungen für Kraftfahrzeuge, Fußgänger und Radfahrer unterstützt. (Weitere Informationen zu Wegpunkten finden Sie unten im Abschnitt Verwendung von Wegpunkten in Routen.)alternatives— ist dieser Wert auftruefestgelegt, so kann der Directions-Dienst in der Antwort mehr als eine Streckenalternative ausgeben. Beachten Sie jedoch, dass die Angabe von Alternativen die Antwortzeit des Servers verlängern kann.avoid— gibt an, dass die berechnete Route die genannten Argumente meiden soll. Dieser Parameter unterstützt die folgenden Argumente:tollsgibt an, dass die berechnete Route mautpflichtige Straßen/Brücken meiden soll.highwaysgibt an, dass die berechnete Route Autobahnen/Hauptverkehrsstraßen meiden soll.ferriesgibt an, dass die berechnete Route Fähren meiden soll.indoorgibt an, dass die für Fußgänger oder öffentliche Verkehrsmittel berechnete Route Innenräume meiden soll. Nur Anforderungen mit einem API-Schlüssel oder einer Google Maps API for Work-Client-ID enthalten standardmäßig Innenräume.
language— gibt die Sprache an, in der Ergebnisse zurückgegeben werden. Weitere Informationen finden Sie in der Liste der unterstützten Domänensprachen. Beachten Sie, dass die unterstützten Sprachen häufig aktualisiert werden. Die Liste ist ggf. nicht vollständig. Wurdelanguagenicht angegeben, versucht der Dienst die native Sprache der Domäne zu verwenden, aus der die Anforderung gesendet wurde.units— gibt an, welches Einheitensystem für die Anzeige der Ergebnisse verwendet werden soll. Die gültigen Werte sind unten im Abschnitt Einheitensysteme angegeben.region— gibt den Regionscode als zweistelligen Ländercode der Top-Level-Domain (ccTLD) an. Weitere Informationen finden Sie unter Anforderung mit Regionsangabe.arrival_time— gibt die gewünschte Ankunftszeit für öffentliche Verkehrsmittel in Sekunden an (ab Mitternacht des 01.01.1970 UTC). Es kann entwederdeparture_timeoderarrival_timeangegeben werden, jedoch nicht beides. Beachten Sie, dassarrival_timeals ganze Zahl angegeben werden muss.departure_time— gibt die gewünschte Abreisezeit an. Sie können die Zeit als ganze Zahl in Sekunden ab Mitternacht des 01.01.1970 UTC angeben oder den Wertnowverwenden, der die Abreisezeit auf den gegenwärtigen Zeitpunkt (die nächste Sekunde) festlegt. Die Abreisezeit kann in zwei Fällen angegeben werden:- Für Anforderungen mit öffentlichen Verkehrsmitteln als Transportmittel: Es kann optional entweder
departure_timeoderarrival_timeangegeben werden. Wird keine bestimmte Zeit angegeben, so wird fürdeparture_time„jetzt“ verwendet. - Für Anforderungen mit Kraftfahrzeugen als Transportmittel: Geben Sie einen Wert für
departure_timean, um eine Route und eine Reisezeit zu erhalten, bei der die Verkehrsbedingungen berücksichtigt werden (Antwortfeld:duration_in_traffic). Diese Option steht nur zur Verfügung, wenn die Anforderung einen gültigen API-Schlüssel oder eine gültige Google Maps API for Work-Client-ID und -Signatur enthält. Diedeparture_timemuss als der gegenwärtige oder ein zukünftiger Zeitpunkt festgelegt sein. Der Wert kann nicht in der Vergangenheit liegen.
- Für Anforderungen mit öffentlichen Verkehrsmitteln als Transportmittel: Es kann optional entweder
traffic_model(Standard:best_guess) — gibt an, welche Annahmen bei der Berechnung der Reisedauer zugrunde gelegt werden sollen. Diese Einstellung beeinflusst den im Feldduration_in_trafficzurückgegebenen Wert. Er enthält die voraussichtliche Reisedauer basierend auf zurückliegenden Durchschnittswerten. Der Parametertraffic_modelkann nur angegeben werden, wenn die Anforderung einedeparture_timeumfasst und einen API-Schlüssel oder eine Google Maps API for Work-Client-ID enthält. Verfügbare Werte für diesen Parameter sind:best_guess(Standard) gibt an, dass der fürduration_in_trafficzurückgegebene Wert die bestmögliche Einschätzung der Verkehrsbedingungen auf der Grundlage von Werten aus Vergangenheit und Gegenwart darstellen soll. Dabei werden Werte aus der Gegenwart stärker berücksichtigt, je näherdeparture_timeam Zeitpunkt „jetzt“ liegt.pessimisticgibt an, dass der fürduration_in_trafficzurückgegebene Wert höher als die tatsächliche Reisezeit an den meisten Tagen sein soll. Einzelne Tage mit besonders schlechten Verkehrsbedingungen können diesen Wert überschreiten.optimisticgibt an, dass der fürduration_in_trafficzurückgegebene Wert niedriger als die tatsächliche Reisezeit an den meisten Tagen sein soll. Einzelne Tage mit besonders guten Verkehrsbedingungen können diesen Wert unterschreiten.
transit_mode— gibt ein oder mehrere bevorzugte öffentliche Verkehrsmittel an. Dieser Parameter kann nur für öffentliche Verkehrsmittel angegeben werden, und nur, wenn die Anforderung einen API-Schlüssel oder eine Google Maps API for Work-Client-ID enthält. Der Parameter unterstützt die folgenden Argumente:busgibt an, dass die berechnete Route Busse bevorzugen soll.subwaygibt an, dass die berechnete Route die U-Bahn bevorzugen soll.traingibt an, dass die berechnete Route Züge bevorzugen soll.tramgibt an, dass die berechnete Route Straßenbahnen und Stadtbahnen bevorzugen soll.railgibt an, dass die berechnete Route Züge, Straßenbahnen, Stadtbahnen und U-Bahnen bevorzugen soll. Dies entsprichttransit_mode=train|tram|subway.
transit_routing_preference— gibt Präferenzen für Routen mit öffentlichen Verkehrsmitteln an. Mit diesem Parameter können Sie die zurückgegebenen Optionen beeinflussen, anstatt die von der API standardmäßig ausgegebene beste Strecke verwenden zu müssen. Er kann nur für öffentliche Verkehrsmittel angegeben werden, und nur, wenn die Anforderung einen API-Schlüssel oder eine Google Maps API for Work-Client-ID enthält. Der Parameter unterstützt die folgenden Argumente:less_walkinggibt an, dass die Route möglichst wenige Abschnitte einbeziehen soll, die zu Fuß zurückgelegt werden müssen.fewer_transfersgibt an, dass die Route eine möglichst geringe Anzahl Umstiege einbeziehen soll.
Beispiele für Anforderungen in Directions
Im folgenden Anforderungsbeispiel werden Wegbeschreibungen von Toronto, Ontario, nach Montreal, Quebec, zurückgegeben.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY
Durch Ändern der Parameter mode und avoid kann die ursprüngliche Anforderung so umgewandelt werden, dass eine Wegbeschreibung für Radfahrer entlang einer malerischen Strecke ohne Hauptverkehrsstraßen zurückgegeben wird.
https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY
Die nächste Anforderung sucht nach Wegbeschreibungen von Brooklyn, New York, nach Queens, New York. Da keine bestimmte Zeit angegeben wurde, wird als departure_time „jetzt“ verwendet.
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&key=YOUR_API_KEY
In der folgenden Anforderung ist eine bestimmte Abreisezeit enthalten.
Hinweis: In diesem Beispiel wurde als Abreisezeit 09:45 Uhr am 30. Juli 2012 angegeben. Um Fehler zu vermeiden, ändern Sie vor dem Einreichen der Anforderung den Parameter in einen Zeitpunkt in der Zukunft.
https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&departure_time=1343641500&mode=transit&key=YOUR_API_KEY
Im folgenden Anforderungsbeispiel werden Orts-IDs verwendet, um Wegbeschreibungen von Glasgow, UK, nach Perth, UK, zurückzugeben.
https://maps.googleapis.com/maps/api/directions/json?origin=place_id:ChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id:ChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY
Verkehrsmittel
Bei der Berechnung von Wegbeschreibungen können Sie mit mode das zu verwendende Verkehrsmittel angeben. Standardmäßig werden die Wegbeschreibungen für Kraftfahrzeuge (driving) berechnet. Folgende Verkehrsmittel werden unterstützt:
driving(Standard): Wegbeschreibungen unter Verwendung des Straßennetzes.walking: Wegbeschreibungen unter Verwendung von Fußwegen (sofern verfügar).bicycling: Wegbeschreibungen unter Verwendung von Radwegen und bevorzugten Straßen (sofern verfügbar).transit: Wegbeschreibungen unter Verwendung von öffentlichen Verkehrsmitteln (sofern verfügbar). Wenn Sie als Verkehrsmitteltransitfestlegen, können Sie optional eine Abreisezeit (departure_time) oder eine Ankunftszeit (arrival_time) angeben. Wird keine bestimmte Zeit angegeben, so wird fürdeparture_time„jetzt“ verwendet. Optional können Sie außerdem die Art des öffentlichen Verkehrsmittels mittransit_modeund/oder eine Streckenpräferenz mittransit_routing_preferenceangeben.
Hinweis: Wegbeschreibungen für Fußgänger und Radfahrer umfassen gegebenenfalls auch andere Wege als Fuß- und Radwege und geben in diesem Fall Warnungen (warnings) zurück, die Sie dem Benutzer anzeigen müssen.
Wegpunkte
Bei der Berechnung von Routen mit der Google Maps Directions API können Sie für Wegbeschreibungen für Kraftfahrzeuge, Fußgänger oder Radfahrer auch Wegpunkte angeben (für öffentliche Verkehrsmittel nicht verfügbar). Wegpunkte ermöglichen es, zusätzliche Orte in die Berechnung von Routen aufzunehmen. Die zurückgegebene Route enthält Aufenthalte an den angegebenen Wegpunkten.
Wegpunkte sind eine oder mehrere Adressen, die mithilfe des Parameters waypoints angegeben und durch den senkrechten Strich (|) voneinander getrennt werden.
Die folgende URL initiiert eine Directions-Anforderung nach einer Route von Boston, MA, nach Concord, MA, mit Aufenthalten in Charlestown und Lexington.
https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&key=YOUR_API_KEY
Für jeden Wegpunkt der Anforderung enthält die Antwort einen zusätzlichen Eintrag im Array legs, der die Einzelheiten dieses Reiseabschnitts angibt.
Wenn für die Route Wegpunkte ohne Aufenthalt verwendet werden sollen, stellen Sie dem Wegpunkt via: voran. Durch Wegpunkte mit dem Präfix via: wird kein Eintrag im Array legs hinzugefügt. Stattdessen wird die Strecke durch den angegebenen Wegpunkt geführt.
Die folgende URL ändert die vorherige Anforderung, sodass die Reise ohne Aufenthalt über Lexington geführt wird.
https://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|via:Lexington,MA&key=YOUR_API_KEY
Das Präfix via: eignet sich besonders für die Erstellung von Routen mit Wegpunkten, die der Benutzer durch Ziehen auf der Karte bestimmt hat. Dadurch erfährt der Benutzer in Echtzeit, wie die gewählte Strecke aussehen wird. Außerdem wird sichergestellt, dass die Wegpunkte sich an für die Google Maps Directions API zugänglichen Orten befinden.
Wegpunkte optimieren
Standardmäßig berechnet der Directions-Dienst die Strecke über die Wegpunkte in der angegebenen Reihenfolge. Um die Wegpunkte effizienter anzuordnen und die ausgegebene Route zu optimieren, können Sie als erstes Argument im Parameter waypoints optimize:true übergeben. (Diese Optimierung ist eine Anwendung des Problems des Handlungsreisenden.)
Wenn Sie den Directions-Dienst anweisen, die Reihenfolge der Wegpunkte zu optimieren, wird diese Reihenfolge im Feld waypoint_order im Objekt routes zurückgegeben. Das Feld waypoint_order gibt nullbasierte Werte zurück.
Im folgenden Beispiel wird mithilfe der Streckenoptimierung eine Route von Adelaide, South Australia, in alle wichtigen Weinregionen von South Australia berechnet.
https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide,SA&destination=Adelaide,SA&waypoints=optimize:true|Barossa+Valley,SA|Clare,SA|Connawarra,SA|McLaren+Vale,SA&key=YOUR_API_KEY
Eine Überprüfung der Route zeigt, dass sie mit folgender Wegpunkt-Reihenfolge berechnet wurde:
"waypoint_order": [ 1, 0, 2, 3 ]
Einschränkungen
Wegbeschreibungen können unter Berücksichtigung bestimmter Einschränkungen berechnet werden. Einschränkungen werden durch den Parameter avoid und ein zugehöriges Argument bestimmt, das die zu vermeidende Einschränkung angibt. Folgende Einschränkungen werden unterstützt:
avoid=tollsavoid=highwaysavoid=ferries
Um eine Strecke anzufordern, die sowohl mautpflichtige Abschnitte als auch Autobahnen und Fähren umgeht, können diese Einschränkungen zusammen an den Parameter „avoid“ übergeben werden. Beispiel: avoid=tolls|highways|ferries.
Hinweis: Durch Addieren von Einschränkungen werden Routen mit der zu vermeidenden Eigenschaft nicht ausgeschlossen, sondern lediglich günstigere Routen als Ergebnis bevorzugt.
Einheitensysteme
Die Länge eines bestimmten Streckenabschnitts kann dem Benutzer in den Ergebnissen von Directions-Anforderungen durch text in den Feldern distance angezeigt werden. Standardmäßig verwendet dieser Text das im Land des Ausgangsorts gültige Einheitensystem.
So wird die Länge der Strecke von Chicago, IL, nach Toronto, ONT, in Meilen, die Länge der umgekehrten Strecke jedoch in Kilometern angezeigt. Sie können dieses Einheitensystem außer Kraft setzen, indem Sie im Parameter units der Anforderung explizit ein bestimmtes System festlegen. Übergeben Sie dazu einen der folgenden Werte:
metric: Das metrische System wird verwendet. Entfernungen werden in Kilometern und Metern angegeben.imperial: Das angloamerikanische System wird verwendet. Entfernungen werden in Meilen und Fuß angegeben.
Hinweis: Diese Einstellung beeinflusst nur den in den Feldern distance angezeigten text. In den Feldern distance sind zudem Werte (values) enthalten, die stets in Metern angegeben werden.
Anforderung mit Regionsangabe
Verwenden Sie den Parameter region, um den Directions-Dienst auf eine bestimmte Region ausgerichtete Ergebnisse zurückgeben zu lassen. Dazu verwendet dieser Parameter ein ccTLD-Argument (Ländercode der Top-Level-Domain). Die meisten ccTLD-Codes stimmen mit den ISO 3166-1-Codes überein, wobei es einige Ausnahmen gibt. So lautet der ccTLD von Großbritannien „uk“ (.co.uk), der ISO 3166-1-Code jedoch „gb“ (für „Vereinigtes Königreich Großbritannien und Nordirland“).
Sie können alle Domänen verwenden, für die die Anwendung Google Maps Wegbeschreibungen bereitstellt.
Beispiel: Eine Anforderung von „Toledo“ nach „Madrid“ gibt ein Ergebnis zurück, wenn region auf es festgelegt ist, da Toledo dann als Stadt in Spanien interpretiert wird:
https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY
{
"status": "OK",
"routes": [ {
"summary": "AP-41",
"legs": [ {
...
} ],
"copyrights": "Map data ©2010 Europa Technologies, Tele Atlas",
"warnings": [ ],
"waypoint_order": [ ]
} ]
}
Dieselbe Anforderung ohne den Parameter region gibt keine Ergebnisse zurück, da Toledo hier als Stadt in Ohio interpretiert wird:
https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY
{
"status": "ZERO_RESULTS",
"routes": [ ]
}
Antworten in Directions
Antworten in Directions werden in dem Format zurückgegeben, das im Flag output im URL-Pfad der Anforderung angegeben wurde.
Beispielantworten
Im Folgenden sehen Sie eine HTTP-Anforderung für die Route von Chicago, IL, nach Los Angeles, CA, über zwei Wegpunkte in Joplin, MO, und Oklahoma City, OK.
https://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&key=YOUR_API_KEY
Im obenstehenden Beispiel wird die Ausgabe in JSON angefordert. Sie kann jedoch auch in XML angefordert werden. Klicken Sie unten auf die jeweilige Registerkarte, um sich die Beispielantworten in JSON und XML anzusehen.
Da Directions-Antworten oft sehr umfangreich sind, wurden in diesem Beispiel mehrfach auftretende Elemente weggelassen.
{
"status": "OK",
"geocoded_waypoints" : [
{
"geocoder_status" : "OK",
"place_id" : "ChIJ7cv00DwsDogRAMDACa2m4K8",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJ69Pk6jdlyIcRDqM1KDY3Fpg",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJgdL4flSKrYcRnTpP0XQSojM",
"types" : [ "locality", "political" ]
},
{
"geocoder_status" : "OK",
"place_id" : "ChIJE9on3F3HwoAR9AhGJW_fL-I",
"types" : [ "locality", "political" ]
}
],
"routes": [ {
"summary": "I-40 W",
"legs": [ {
"steps": [ {
"travel_mode": "DRIVING",
"start_location": {
"lat": 41.8507300,
"lng": -87.6512600
},
"end_location": {
"lat": 41.8525800,
"lng": -87.6514100
},
"polyline": {
"points": "a~l~Fjk~uOwHJy@P"
},
"duration": {
"value": 19,
"text": "1 min"
},
"html_instructions": "Head \u003cb\u003enorth\u003c/b\u003e on \u003cb\u003eS Morgan St\u003c/b\u003e toward \u003cb\u003eW Cermak Rd\u003c/b\u003e",
"distance": {
"value": 207,
"text": "0.1 mi"
}
},
...
... additional steps of this leg
...
... additional legs of this route
"duration": {
"value": 74384,
"text": "20 hours 40 mins"
},
"distance": {
"value": 2137146,
"text": "1,328 mi"
},
"start_location": {
"lat": 35.4675602,
"lng": -97.5164276
},
"end_location": {
"lat": 34.0522342,
"lng": -118.2436849
},
"start_address": "Oklahoma City, OK, USA",
"end_address": "Los Angeles, CA, USA"
} ],
"copyrights": "Map data ©2010 Google, Sanborn",
"overview_polyline": {
"points": "a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\\|tNtqf@l{Yd_Fblh@rxo@b}@xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@loPpxq@bw_@v|{CbtY~jGqeMb{iF|n\\~mbDzeVh_Wr|Efc\\x`Ij{kE}mAb~uF{cNd}xBjp]fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvHx`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_BflmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC"
},
"warnings": [ ],
"waypoint_order": [ 0, 1 ],
"bounds": {
"southwest": {
"lat": 34.0523600,
"lng": -118.2435600
},
"northeast": {
"lat": 41.8781100,
"lng": -87.6297900
}
}
} ]
}
Normalerweise wird im Array routes nur ein Eintrag zurückgegeben. Um mehrere Routen zu erhalten, übergeben Sie alternatives=true.
Wenn Sie aus diesen Ergebnissen Werte extrahieren möchten, müssen Sie sie parsen. Das Parsen von JSON ist relativ einfach. Unter JSON parsen finden Sie einige empfohlene Entwurfsmuster.
<DirectionsResponse>
<status>OK</status>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJ7cv00DwsDogRAMDACa2m4K8</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJ69Pk6jdlyIcRDqM1KDY3Fpg</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJgdL4flSKrYcRnTpP0XQSojM</place_id>
</geocoded_waypoint>
<geocoded_waypoint>
<geocoder_status>OK</geocoder_status>
<type>locality</type>
<type>political</type>
<place_id>ChIJE9on3F3HwoAR9AhGJW_fL-I</place_id>
</geocoded_waypoint>
<route>
<summary>I-40 W</summary>
<leg>
<step>
<travel_mode>DRIVING</travel_mode>
<start_location>
<lat>41.8507300</lat>
<lng>-87.6512600</lng>
</start_location>
<end_location>
<lat>41.8525800</lat>
<lng>-87.6514100</lng>
</end_location>
<polyline>
<points>a~l~Fjk~uOwHJy@P</points>
</polyline>
<duration>
<value>19</value>
<text>1 min</text>
</duration>
<html_instructions>Head <b>north</b> on <b>S Morgan St</b> toward <b>W Cermak Rd</b></html_instructions>
<distance>
<value>207</value>
<text>0.1 mi</text>
</distance>
</step>
...
... additional steps of this leg
...
... additional legs of this route
<duration>
<value>74384</value>
<text>20 hours 40 mins</text>
</duration>
<distance>
<value>2137146</value>
<text>1,328 mi</text>
</distance>
<start_location>
<lat>35.4675602</lat>
<lng>-97.5164276</lng>
</start_location>
<end_location>
<lat>34.0522342</lat>
<lng>-118.2436849</lng>
</end_location>
<start_address>Oklahoma City, OK, USA</start_address>
<end_address>Los Angeles, CA, USA</end_address>
<copyrights>Map data ©2010 Google, Sanborn</copyrights>
<overview_polyline>
<points>a~l~Fjk~uOnzh@vlbBtc~@tsE`vnApw{A`dw@~w\|tNtqf@l{Yd_Fblh@rxo@b}@xxSfytAblk@xxaBeJxlcBb~t@zbh@jc|Bx}C`rv@rw|@rlhA~dVzeo@vrSnc}Axf]fjz@xfFbw~@dz{A~d{A|zOxbrBbdUvpo@`cFp~xBc`Hk@nurDznmFfwMbwz@bbl@lq~@loPpxq@bw_@v|{CbtY~jGqeMb{iF|n\~mbDzeVh_Wr|Efc\x`Ij{kE}mAb~uF{cNd}xBjp]fulBiwJpgg@|kHntyArpb@bijCk_Kv~eGyqTj_|@`uV`k|DcsNdwxAott@r}q@_gc@nu`CnvHx`k@dse@j|p@zpiAp|gEicy@`omFvaErfo@igQxnlApqGze~AsyRzrjAb__@ftyB}pIlo_BflmA~yQftNboWzoAlzp@mz`@|}_@fda@jakEitAn{fB_a]lexClshBtmqAdmY_hLxiZd~XtaBndgC</points>
</overview_polyline>
<waypoint_index>0</waypoint_index>
<waypoint_index>1</waypoint_index>
<bounds>
<southwest>
<lat>34.0523600</lat>
<lng>-118.2435600</lng>
</southwest>
<northeast>
<lat>41.8781100</lat>
<lng>-87.6297900</lng>
</northeast>
</bounds>
</route>
</DirectionsResponse>
Die XML-Antwort besteht aus einer einzelnen <DirectionsResponse> und den folgenden Elementen der obersten Ebene:
<status>enthält Metadaten zur Anforderung. Weitere Informationen finden Sie unten in Statuscodes.- Ein
<geocoded_waypoint>pro Wegpunkt, Ausgangsort, Zielort und Einzelheiten zu den Ergebnissen der Geocodierung dieser Orte. Auch leere Elemente vom Typ<geocoded_waypoint/>sind möglich. Weitere Informationen finden Sie unten im Abschnitt Geocodierte Wegpunkte. - Null oder mehrere Elemente vom Typ
<route>, jedes mit einem Satz an Streckeninformationen zwischen Ausgangs- und Zielort.
Sie sollten json als das bevorzugte Ausgabe-Flag verwenden, sofern Ihr Dienst nicht aus irgendeinem Grund xml verlangt. Die Verarbeitung von XML-Strukturen erfordert einige Sorgfalt. Knoten und Elemente müssen präzise referenziert werden. Unter XML mit XPath parsen finden Sie einige empfohlene Entwurfsmuster für die Ausgabeverarbeitung.
Im verbleibenden Teil dieser Dokumentation wird JSON-Syntax verwendet. In den meisten Fällen ist das Ausgabeformat für die Darstellung von Konzepten oder Feldnamen in der Dokumentation nicht ausschlaggebend. Beachten Sie jedoch die folgenden Unterschiede:
- XML-Ergebnisse sind von dem Stammelement
<DirectionsResponse>umschlossen. - JSON gibt Einträge mit mehreren Elementen durch Pluralarrays (
steps) an, während XML dafür mehrere einzelne Elemente (<step>) verwendet. - Leere Elemente werden in JSON durch leere Arrays angegeben, in XML dagegen durch keines dieser Elemente. Antworten, die keine Ergebnisse generieren, geben in JSON das leere Array
routeszurück, in XML jedoch keine<route>-Elemente.
Antwortelemente in Directions
Antworten in Directions enthalten die folgenden Stammelemente:
statusenthält Metadaten zur Anforderung. Weitere Informationen finden Sie unten in Statuscodes.geocoded_waypointsenthalten ein Array mit Einzelheiten zur Geocodierung von Ausgangsort, Zielort und Wegpunkten. Weitere Informationen finden Sie unten im Abschnitt Geocodierte Wegpunkte.routesenthält ein Array mit Routen vom Ausgangs- zum Zielort. Weitere Informationen finden Sie unten im Abschnitt Routen. Routen bestehen aus geschachtelten Abschnitten (legs) und Schritten (steps).
Statuscodes
Das Feld status im Directions-Antwortobjekt enthält den Status der Anforderung und kann auch Debuginformationen enthalten, die Ihnen helfen sollen, herauszufinden, warum die Anforderung im Directions-Dienst nicht erfolgreich war. Das Feld status kann folgende Werte enthalten:
OKgibt an, dass die Antwort ein gültiges Ergebnis (result) enthält.NOT_FOUNDgibt an, dass mindestens einer der Orte, die in der Anforderung als Ausgangsort, Zielort oder Wegpunkt angegeben wurden, nicht geocodiert werden konnte.ZERO_RESULTSgibt an, dass zwischen Start- und Zielort keine Route ermittelt werden konnte.MAX_WAYPOINTS_EXCEEDEDgibt an, dass in der Anforderung zu viele Wegpunkte (waypoints) vorgegeben wurden. Maximal können 23waypointssowie Ausgangs- und Zielort angegeben werden. (Enthält die Anforderung keinen API-Schlüssel, so können maximal 8waypointsangegeben werden. Kunden von Google Maps API for Work können Anforderungen mit bis zu 23 Wegpunkten einreichen.)INVALID_REQUESTgibt an, dass die Anforderung ungültig war. Häufige Ursachen sind ungültige Parameter oder Parameterwerte.OVER_QUERY_LIMITgibt an, dass der Dienst in einem bestimmten Zeitraum zu viele Anforderungen von Ihrer Anwendung erhalten hat.REQUEST_DENIEDgibt an, dass die Verwendung des Directions-Dienstes durch Ihre Anwendung verweigert wurde.UNKNOWN_ERRORgibt an, dass eine Anforderung aufgrund eines Serverfehlers nicht verarbeitet werden konnte. Möglicherweise ist die Anforderung beim nächsten Versuch erfolgreich.
Fehlermeldungen
Wird ein anderer Statuscode als OK zurückgegeben, so wird im Directions-Antwortobjekt ggf. das zusätzliche Feld error_message angezeigt. Dieses Feld enthält weitere detaillierte Informationen zu den Gründen für den zurückgegebenen Statuscode.
Hinweis: Dieses Feld wird nicht immer angezeigt, und sein Inhalt unterliegt Änderungen.
Geocodierte Wegpunkte
Einzelheiten zur Geocodierung der Wegpunkte und von Ausgangs- und Zielort finden sich im Array geocoded_waypoints (JSON). Damit lässt sich ermitteln, weshalb der Dienst unerwartete oder keine Routen zurückgegeben hat.
Die Elemente im Array geocoded_waypoints entsprechen gemäß ihrer nullbasierten Position dem Ausgangsort, den Wegpunkten in der angegebenen Reihenfolge und dem Zielort. Jedes Element enthält die folgenden Einzelheiten zur Geocodierung des jeweiligen Wegpunkts:
geocoder_statusgibt den Statuscode des Vorgangs an. Dieses Feld kann folgende Werte enthalten:"OK"gibt an, dass keine Fehler aufgetreten sind. Die Adresse wurde erfolgreich geparst, und es wurde mindestens ein Geocode zurückgegeben."ZERO_RESULTS"gibt an, dass das Geocoding erfolgreich war, aber keine Ergebnisse zurückgegeben hat. Dies kann eintreten, wenn dem Geocoder eine nicht existierende Adresse (address) übergeben wurde.
-
partial_matchgibt an, dass der Geocoder kein genaues Ergebnis für die Anforderung zurückgegeben hat, jedoch eine Übereinstimmung mit einem Teil der angeforderten Adresse gefunden hat. Überprüfen Sie ggf. die Anforderung auf Tippfehler und/oder Unvollständigkeit.Teilübereinstimmungen treten am häufigsten bei Anschriften auf, die an dem von Ihnen in der Anforderung übergebenen Ort nicht existieren. Teilübereinstimmungen können auch zurückgegeben werden, wenn eine Anforderung mit mehr als einem Standort am selben Ort übereinstimmt. So wird für „21 Henr St, Bristol, UK“ eine Teilübereinstimmung für Henry Street und Henrietta Street zurückgegeben. Enthält eine Anforderung einen Adressbestandteil mit Tippfehlern, schlägt der Geocoder möglicherweise eine andere Adresse vor. Auf diese Weise ausgelöste Vorschläge werden ebenfalls als Teilübereinstimmung gekennzeichnet.
place_idist ein eindeutiger Bezeichner, der für andere Google APIs verwendet werden kann. Beispielsweise können Sie die Orts-ID (place_id) aus einer Google Place Autocomplete-Antwort verwenden, um Wegbeschreibungen zu lokalen Unternehmen zu berechnen. Weitere Informationen finden Sie unter Orts-IDs – Übersicht.typesgibt den Adresstyp (address type) des Ergebnisses der Geocodierung an, das für die Berechnung verwendet wurde. Folgende Adresstypen werden zurückgegeben:street_addressbezeichnet eine genaue Anschrift.routebezeichnet eine Straße mit einem Namen oder einer Nummer (z. B. „US 101“).intersectionbezeichnet eine wichtige Kreuzung, meist zweier Hauptstraßen.politicalbezeichnet eine Verwaltungseinheit. Dieser Typ steht meist für ein Polygon einer öffentlichen Einrichtung.countrybezeichnet eine nationale Verwaltungseinheit und ist normalerweise der höchste Typ in der vom Geocoder zurückgegebenen Reihenfolge.administrative_area_level_1bezeichnet eine Verwaltungseinheit erster Ordnung unterhalb der Stufe „Land“. In den USA sind diese Verwaltungsebenen die Bundesstaaten. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.administrative_area_level_2bezeichnet eine Verwaltungseinheit zweiter Ordnung unterhalb der Stufe „Land“. In den USA sind diese Verwaltungsebenen die Countys. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.administrative_area_level_3bezeichnet eine Verwaltungseinheit dritter Ordnung unterhalb der Stufe „Land“. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.administrative_area_level_4bezeichnet eine Verwaltungseinheit vierter Ordnung unterhalb der Stufe „Land“. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.administrative_area_level_5bezeichnet eine Verwaltungseinheit fünfter Ordnung unterhalb der Stufe „Land“. Dieser Typ steht für eine kleine Verwaltungseinheit von geringerer Bedeutung. Diese Verwaltungsebenen bestehen jedoch nicht in allen Ländern.colloquial_areabezeichnet eine allgemein verwendete Alternativbezeichnung der Einheit.localitybezeichnet die Verwaltungseinheit einer Stadt mit Selbstverwaltung.wardbezeichnet eine bestimmte Art von Ort in Japan (Stadtbezirk) und wird zur Unterscheidung zwischen den Bestandteilen japanischer Adressen verwendet.sublocalitybezeichnet eine Verwaltungseinheit erster Ordnung unterhalb der Stufe „Stadt“. Einigen Orten kann zusätzlich einer der folgenden Typen zugewiesen werden:sublocality_level_1bissublocality_level_5. Jede dieser Ebenen ist eine Verwaltungseinheit. Je höher die Zahl, desto kleiner das geografische Gebiet.neighborhoodbezeichnet ein bestimmtes Viertel.premisebezeichnet meist ein bestimmtes Gebäude oder eine Gebäudegruppe mit einer gemeinsamen Bezeichnung.subpremisebezeichnet eine Einheit erster Ordnung unterhalb einer Gebäudegruppe, meist ein einzelnes Gebäude in einer Gebäudegruppe mit einer gemeinsamen Bezeichnung.postal_codebezeichnet die Postleitzahl, die zur Adressierung von Post innerhalb eines Landes verwendet wird.natural_featurebezeichnet ein landschaftliches Wahrzeichen.airportbezeichnet einen Flughafen.parkbezeichnet einen bestimmten Park.point_of_interestbezeichnet einen bestimmten Point of Interest (POI). Dazu gehören bedeutende lokale Objekte, die sich keiner anderen Kategorie zuordnen lassen, wie z. B. „Empire State Building“ oder „Freiheitsstatue“.
Eine leere Typenliste bedeutet, dass für einen bestimmten Adressbestandteil keine Typen vorhanden sind, wie z. B. im Falle des französischen Lieu-dit.
Gibt der Dienst für Wegpunkte, die als Textwerte mit Längen- und Breitengrad angegeben wurden, keine Ergebnisse zurück, so werden diese Einzelheiten nicht angezeigt. Der Grund dafür ist, dass Wegpunkte nur dann umgekehrt geocodiert werden und ihre Adresse ermittelt wird, wenn eine Route gefunden wurde. Im Array geocoded_waypoints sind die jeweiligen Orte durch ein leeres JSON-Objekt besetzt.
Routen
Gibt die Google Maps Directions API Ergebnisse zurück, so werden diese in das JSON-Array routes platziert. Auch wenn der Dienst keine Ergebnisse zurückgibt (z. B. wenn Ausgangs- und/oder Zielort nicht existieren), gibt er dennoch ein leeres routes-Array zurück. (XML-Antworten bestehen dagegen aus keinem oder mehreren <route>-Elementen.)
Jedes Element des Array routes enthält ein einziges Ergebnis für den angegebenen Ausgangs- und Zielort. Diese Route kann je nachdem, ob Wegpunkte angegeben wurden, aus einem oder mehreren legs bestehen. Darüber hinaus enthält die Route Copyright- und Warnhinweise, die dem Benutzer zusätzlich zu den Routeninformationen angezeigt werden müssen.
Jede Route im Feld routes kann die folgenden Felder enthalten:
summaryenthält einen kurzen, beschreibenden Text der Route, der eine Benennung und Unterscheidung dieser von Alternativrouten ermöglicht.legs[]enthält ein Array mit Informationen über einen Abschnitt zwischen zwei Orten der Route. Für jeden Wegpunkt oder Zielort wird ein gesonderter Abschnitt angegeben. Routen ohne Wegpunkte enthalten im Arraylegsgenau einen Abschnitt. Jeder Abschnitt besteht aus einer Reihe vonsteps. Weitere Informationen finden Sie unten im Abschnitt Abschnitte in Directionswaypoint_orderenthält ein Array, das die Reihenfolge der Wegpunkte in der berechneten Route angibt. Die Reihenfolge der Wegpunkte kann geändert werden, wenn im Parameterwaypointsder Anforderungoptimize:trueübergeben wurde.overview_polylineenthält ein einzelnes Objektpoints, das eine codierte Polyliniendarstellung der Route umfasst. Die Polylinie ist der annähernde (geglättete) Pfad der ermittelten Wegbeschreibung.boundsenthält den Begrenzungsrahmen des Anzeigebereichs deroverview_polyline.copyrightsenthält die für diese Route anzuzeigenden Copyright-Hinweise. Diese Informationen müssen Sie selbst bearbeiten und anzeigen.warnings[]enthält ein Array mit Warnungen, die für diese Wegbeschreibung angezeigt werden müssen. Diese Warnungen müssen Sie selbst bearbeiten und anzeigen.fare: Enthält den Gesamtbetrag der Tickets auf dieser Strecke. Diese Eigenschaft wird nur bei Anforderungen für öffentliche Verkehrsmittel und Routen zurückgegeben, auf denen Tarifinformationen für sämtliche Abschnitte verfügbar sind. Folgende Informationen werden ausgegeben:currency: Der Währungscode nach ISO 4217 gibt die Währung des Betrags an.value: Der Gesamtbetrag in der oben angegebenen Währung.text: Der Gesamtbetrag im Format der angeforderten Sprache.
Im Folgenden finden Sie ein Beispiel für Tarifinformationen auf einer Route:
"routes" : [
{
"bounds" : {
"northeast" : {
"lat" : 37.8079996,
"lng" : -122.4074334
},
"southwest" : {
"lat" : 37.7881005,
"lng" : -122.4203553
}
},
"copyrights" : "Map data ©2015 Google",
"fare" : {
"currency" : "USD",
"value" : 6
"text" : "$6.00"
},
...
}]
Abschnitte
Jedes Element im Array legs gibt einen einzelnen Abschnitt der Route zwischen Ausgangs- und Zielort an. Routen, die keine Wegpunkte enthalten, bestehen aus einem einzigen „Abschnitt“, Routen mit einem oder mehreren Wegpunkten aus mehreren Abschnitten.
Jeder Abschnitt im Feld/in den Feldern legs kann die folgenden Felder enthalten:
steps[]enthält ein Array aus Schritten (steps) mit Informationen zu jedem einzelnen Schritt im Abschnitt einer Reise. Weitere Informationen finden Sie unten im Abschnitt Schritte in Directions.distancegibt die Entfernung an, die auf einem bestimmten Abschnitt zurückgelegt wird. Das Feld besteht aus folgenden Elementen:- Mit
valuewird die Entfernung in Metern angegeben. textenthält eine lesbare Darstellung der Entfernung in der Einheit des Ausgangsorts (oder der Einheit, mit der der Parameterunitsin der Anforderung überschrieben wurde). So wird bei Ausgangsorten in den USA die Entfernung stets in Meilen und Fuß angegeben. Beachten Sie, dass der Wert im Felddistance.valuestets in Metern ausgedrückt wird, unabhängig davon, welches Einheitensystem für den Text verwendet wird.
Diese Felder sind möglicherweise nicht vorhanden, wenn die Entfernung nicht bekannt ist.
- Mit
durationgibt die Gesamtdauer des Abschnitts als Feld mit folgenden Elementen an:valuegibt die Dauer in Sekunden an.textenthält eine lesbare Angabe der Dauer.
Diese Felder sind möglicherweise nicht vorhanden, wenn die Dauer nicht bekannt ist.
duration_in_trafficgibt die Gesamtdauer dieses Abschnitts an. Dieser Wert ist eine Schätzung der Dauer auf der Grundlage gegenwärtiger und zurückliegender Verkehrsbedingungen. Im Anforderungsparametertraffic_modelfinden Sie die Optionen, mit denen Sie eine optimistische, pessimistische oder bestmögliche Schätzung anfordern können. Die Dauer wird nur dann zurückgegeben, wenn alle der folgenden Bedingungen erfüllt sind:- Die Anforderung enthält den Parameter
departure_time. - Die Anforderung enthält einen gültigen API-Schlüssel oder eine gültige Google Maps API for Work-Client-ID und Signatur.
- Für die angeforderte Route sind Informationen über die Verkehrsbedingungen verfügbar.
- Die Anforderung enthält keine Wegpunkte mit Aufenthalt.
- Die Anforderung bezieht sich auf eine Wegbeschreibung für Kraftfahrzeuge – der Parameter
modeist aufdrivingfestgelegt.
duration_in_trafficenthält die folgenden Felder:valuegibt die Dauer in Sekunden an.textenthält eine lesbare Angabe der Dauer.
- Die Anforderung enthält den Parameter
arrival_timeenthält die geschätzte Ankunftszeit für diesen Abschnitt. Diese Eigenschaft wird nur bei Anforderungen für öffentliche Verkehrsmittel zurückgegeben. Das Ergebnis wird als ObjektTimemit drei Eigenschaften zurückgegeben:value: die Zeit definiert als JavaScript-ObjektDate.textdie Zeit definiert als Zeichenfolge. Die Zeit wird in der Zeitzone des Zielorts angegeben.time_zoneenthält die Zeitzone dieses Halts. Der Wert ist der Name der Zeitzone gemäß Definition der IANA-Zeitzonen-Datenbank, bspw. „America/New_York“.
departure_timeenthält die geschätzte Abfahrtzeit für diesen Abschnitt und wird als ObjektTimeangegeben.departure_timewird nur bei Anforderungen für öffentliche Verkehrsmittel zurückgegeben.start_locationenthält die Koordinaten (Längen- und Breitengrad) des Ausgangsorts dieses Abschnitts. Da die Directions API für die Berechnung von Wegbeschreibungen die dem Ausgangs- und Zielort nächstgelegene Reiseoption (normalerweise eine Straße) verwendet, kann sichstart_locationvom angegebenen Ausgangsort dieses Abschnitts unterscheiden, wenn sich bspw. die Straße nicht in dessen Nähe befindet.end_locationenthält die Koordinaten (Längen- und Breitengrad) des Zielorts dieses Abschnitts. Da die Google Maps Directions API für die Berechnung von Wegbeschreibungen die dem Ausgangs- und Zielort nächstgelegende Reiseoption (normalerweise eine Straße) verwendet, kann sichend_locationvom angegebenen Zielort dieses Abschnitts unterscheiden, wenn sich bspw. die Straße nicht in dessen Nähe befindet.start_addressenthält die lesbare Adresse (normalerweise die genaue Anschrift) des Ausgangsorts und ist das Ergebnis der umgekehrten Geocodierung derstart_locationdieses Abschnitts.end_addressenthält die lesbare Adresse (normalerweise die genaue Anschrift) des Zielorts und ist das Ergebnis der umgekehrten Geocodierung derend_locationdieses Abschnitts.
Schritte
Durch jedes Element im Array steps wird ein einzelner Schritt der berechneten Wegbeschreibung definiert. Ein Schritt ist die kleinste Einheit der Route und beschreibt eine einzelne, bestimmte Anweisung für die Reise. Beispiel: „An der W. 4th St. links abbiegen.“ Außer der Anweisung enthält der Schritt auch Informationen zu Entfernung und Dauer dieses Schritts in Bezug auf den nächsten. Beispielsweise kann der Schritt „Fahren Sie auf die I-80 West“ die Entfernung „37 Meilen“ und die Dauer „40 Minuten“ enthalten und somit darauf hinweisen, dass der nächste Schritt 37 Meilen bzw. 40 Minuten von diesem entfernt ist.
Wird mit der Google Maps Directions API nach Wegbeschreibungen für öffentliche Verkehrsmittel gesucht, dann enthält das Array „Steps“ zusätzliche Angaben in Form des Arrays transit_details. Umfasst die Wegbeschreibung verschiedene Transportmittel, so werden die detaillierten Beschreibungen für Fußgänger oder Kraftfahrzeuge in dem inneren Array steps angegeben. Ein Schritt in der Wegbeschreibung für Fußgänger enthält bspw. Beschreibungen vom Ausgangs- zum Zielort: „Gehen Sie zur Innes Ave & Fitch St.“ Für diese Route enthält dieser Schritt detaillierte Wegbeschreibungen im inneren Array steps, wie z. B.: „Gehen Sie in Richtung Nordwesten“, „Biegen Sie links auf Arelious Walker ab“ und „Biegen Sie links auf Innes Ave ab“.
Jeder Schritt im Feld/in den Feldern steps kann die folgenden Felder enthalten:
html_instructionsenthält Anweisungen für diesen Schritt, die als HTML-Zeichenfolge dargestellt werden.distanceenthält die bei diesem Schritt zurückgelegte Entfernung. (Weitere Informationen zu diesem Feld finden Sie oben im Abschnitt Abschnitte in Directions.) Dieses Feld ist möglicherweise nicht definiert, wenn die Entfernung nicht bekannt ist.durationenthält die Zeit, die normalerweise für diesen Schritt benötigt wird. (Weitere Informationen zu diesem Feld finden Sie oben im Abschnitt Abschnitte in Directions.) Dieses Feld ist möglicherweise nicht definiert, wenn die Dauer nicht bekannt ist.start_locationenthält die Koordinaten des Ausgangspunkts dieses Schritts als einzelnen Satz mit den Feldernlatundlng.end_locationenthält die Koordinaten des Endpunkts dieses Schritts als einzelnen Satz mit den Feldernlatundlng.polylineenthält ein einzelnes Objektpoints, das eine codierte Polyliniendarstellung des Schritts umfasst. Die Polylinie ist der annähernde (geglättete) Pfad des Schritts.stepsenthält detaillierte Angaben für Fußgänger oder Kraftfahrzeuge in Wegbeschreibungen für öffentliche Verkehrsmittel. Diese Unterschritte sind nur verfügbar, wenn fürtravel_mode„transit“ festgelegt ist. Das innere Arraystepsist vom selben Typ wiesteps.transit_detailsenthält Informationen zu öffentlichen Verkehrsmitteln. Dieses Feld wird nur zurückgegeben, wenn fürtravel_mode„transit“ festgelegt ist. Weitere Informationen finden Sie unten im Abschnitt Informationen zu öffentlichen Verkehrsmitteln.
Informationen zu öffentlichen Verkehrsmitteln
Wegbeschreibungen für öffentliche Verkehrsmittel geben zusätzliche Informationen zurück, die für andere Transportmittel nicht relevant sind. Diese zusätzlichen Eigenschaften werden durch das Objekt transit_details dargestellt, das als Feld eines Elements im Array steps[] zurückgegeben wird. Über das Objekt TransitDetails haben Sie Zugriff auf zusätzliche Informationen zu Haltestelle, Linie und Beförderungsunternehmen.
Das Objekt transit_details kann die folgenden Felder enthalten:
arrival_stopunddeparture_stopenthält Informationen über die Haltestellen dieses Teils der Reise. Dazu können folgende Angaben gehören:name: der Name der Haltestelle, z. B. „Union Square“.location: die Koordinaten der Haltestelle als Feld mitlatundlng.
arrival_timeunddeparture_time: die Ankunfts- bzw. Abfahrtzeiten für diesen Abschnitt der Reise, angegeben durch die folgenden drei Eigenschaften:textdie Zeit definiert als Zeichenfolge. Die Zeit wird in der Zeitzone des Zielorts angegeben.value: die Zeit als Unixzeit in Sekunden ab Mitternacht des 1. Januar 1970 UTC.time_zoneenthält die Zeitzone dieses Halts. Der Wert ist der Name der Zeitzone gemäß Definition der IANA-Zeitzonen-Datenbank, bspw. „America/New_York“.
headsign: die Fahrtrichtung der jeweiligen Linie, wie sie auf dem Fahrzeug oder an der Haltestelle angegeben ist. Oft ist dies der Name der Endhaltestelle.headway: die erwartete Anzahl Sekunden zwischen Abfahrten von dieser Haltestelle zu dieser Zeit. Beträgt der Wert vonheadwaybspw. 600, so sollte der nächste Bus in 10 Minuten abfahren.num_stopsenthält die Anzahl der Haltestellen in diesem Schritt, wobei die Ankunftshaltestelle mitgezählt wird, die Abfahrtshaltestelle jedoch nicht. Beginnt die Fahrt bspw. bei Abfahrtshaltestelle A, passiert dann die Haltestellen B und C und endet an Haltestelle D, so gibtnum_stopsden Wert 3 zurück.lineenthält Informationen zur jeweiligen Linie und kann die folgenden Eigenschaften umfassen:nameenthält den vollen Namen der Linie, bspw. „7 Avenue Express“.short_nameenthält den Kurznamen der Linie. Dabei handelt es sich normalerweise um eine Nummer, bspw. „M7“ oder „355“.colorenthält die Farbe, die im Liniennetz als Kennfarbe für diese Linie verwendet wird. Die Farbe wird als Hexadezimalwert wie z. B. #FF0033 angegeben.agenciesenthält ein Array mitTransitAgency-Objekten, die jeweils Informationen zum Beförderungsunternehmen der Linie liefern. Dazu gehören:name: der Name des Beförderungsunternehmens.url: die URL des Beförderungsunternehmens.phone: die Telefonnummer des Beförderungsunternehmens.
Sie müssen die Namen und URLs der Beförderungsunternehmen auf der Route angeben.
urlenthält die URL für die Linie wie vom Beförderungsunternehmen angegeben.iconenthält die URL für das mit dieser Linie verbundene Symbol.text_colorenthält die Textfarbe, die für die Kennzeichnung dieser Linie verwendet wird. Die Farbe wird als Hexadezimalwert angegeben.vehicleenthält das auf dieser Linie eingesetzte Fahrzeug. Dazu können folgende Eigenschaften gehören:nameenthält die Bezeichnung des Fahrzeugs auf dieser Linie, bspw. „U-Bahn“.typeenthält den Fahrzeugtyp. In der Dokumentation zu den Fahrzeugtypen finden Sie eine vollständige Liste der unterstützten Werte.iconenthält die URL für das mit diesem Fahrzeugtyp verbundene Symbol.
Fahrzeugtyp
Die Eigenschaft vehicle.type kann die folgenden Werte zurückgeben:
| Wert | Definition |
|---|---|
RAIL |
Bahn |
METRO_RAIL |
Stadtbahn |
SUBWAY |
U-Bahn |
TRAM |
Straßenbahn |
MONORAIL |
Einschienenbahn |
HEAVY_RAIL |
S-Bahn |
COMMUTER_TRAIN |
Nahverkehr |
HIGH_SPEED_TRAIN |
Schnellzug |
BUS |
Bus |
INTERCITY_BUS |
Fernbus |
TROLLEYBUS |
Oberleitungsbus |
SHARE_TAXI |
Sammeltaxi |
FERRY |
Fähre |
CABLE_CAR |
Seilbahn, die durch Drahtseile gezogen wird, in der Regel am Boden. Luftseilbahnen können zum Typ GONDOLA_LIFT gehören. |
GONDOLA_LIFT |
Gondelbahn, eine Art Luftseilbahn. |
FUNICULAR |
Standseilbahn. Besteht normalerweise aus zwei Wagen, von denen einer als Gegengewicht zum anderen dient. |
OTHER |
Alle anderen Fahrzeuge geben diesen Typ zurück. |
Der Parameter sensor
Bisher war in der Google Maps API die Angabe des Parameters sensor erforderlich. Damit wurde festgelegt, ob seitens der Anwendung ein Sensor zur Ermittlung des Benutzerstandorts verwendet wurde. Dieser Parameter wird nicht mehr benötigt.
