Die Roads API akzeptiert bis zu 100 unabhängige Koordinaten und gibt für jeden Punkt das nächstgelegene Straßensegment zurück. Die übergebenen Punkte müssen nicht Teil eines zusammenhängenden Pfads sein.
Wenn Sie mit sequenziellen GPS-Punkten arbeiten, verwenden Sie Snap to Roads.
Anfragen
Eine Anfrage an den „Nearest Roads“-Dienst muss über HTTPS gesendet werden und hat das folgende Format:
https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEYErforderliche Parameter
Punkt
Die Punkte, die gefangen werden sollen. Für den Parameter „points“ kann eine Liste von Breiten-/Längengradpaaren angegeben werden. Trennen Sie die Werte für Breiten- und Längengrad durch Kommas. Trennen Sie die Koordinaten durch einen senkrechten Strich („|“). Beispiel: points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
Beispiele
Die folgende Anfrage gibt eine Reihe von Straßensegmenten basierend auf der angegebenen Liste von Koordinaten zurück.
URL
https://roads.googleapis.com/v1/nearestRoads ?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796 &key=YOUR_API_KEY
curl
curl -L -X GET 'https://roads.googleapis.com/v1/nearestRoads?points=60.170880%2C24.942795%7C60.170879%2C24.942796%7C60.170877%2C24.942796&key=YOUR_API_KEY'
Antworten
Für jede gültige Anfrage gibt die Roads API eine Antwort in dem Format zurück, das in der Anfrage-URL angegeben ist.
{ "snappedPoints": [ { "location": { "latitude": 60.170878428876755, "longitude": 24.94269540970182 }, "originalIndex": 0, "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w", }, { "location": { "latitude": 60.17087741412199, "longitude": 24.942695474405202 }, "originalIndex": 1, "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w", }, { "location": { "latitude": 60.170875416131736, "longitude": 24.942695601802203 }, "originalIndex": 2, "placeId": "ChIJfVFHrM0LkkYRBzUQos_jR5w", }, ], }
Die Antwort verwendet das folgende Schema.
NearestRoadsResponse
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
optional | Array<SnappedPoint> |
Ein Array von eingerasteten Punkten. Manchmal enthält sie mehrere eingerastete Punkte für denselben Punkt mit unterschiedlicher „placeId“ oder unterschiedlichem Standort. Weitere Informationen finden Sie unter SnappedPoint. |
SnappedPoint
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
required | LatitudeLongitudeLiteral | Weitere Informationen finden Sie unter LatitudeLongitudeLiteral. |
|
required | String |
Eine eindeutige Kennung für einen Ort. Alle von der Roads API zurückgegebenen Orts-IDs entsprechen Straßensegmenten. |
|
optional | Zahl |
Eine Ganzzahl, die den entsprechenden Wert in der ursprünglichen Anfrage angibt. Jeder Wert in der Anfrage sollte einem eingerasteten Wert in der Antwort zugeordnet werden. Wenn Sie jedoch „interpolate=true“ festgelegt haben oder die Funktion „Nächstgelegene Straßen“ verwenden, kann die Antwort mehr Koordinaten als die Anfrage enthalten. Interpolierte Werte haben keinen |
LatitudeLongitudeLiteral
Ein Objekt, das einen bestimmten Standort mit Breiten- und Längengrad in Dezimalgrad beschreibt.
| Feld | Erforderlich | Typ | Beschreibung |
|---|---|---|---|
|
erforderlich | Zahl |
Breitengrad in Dezimalgrad |
|
required | Zahl |
Längengrad im Dezimalformat |