A Roads API usa até 100 coordenadas independentes e retorna o segmento da via mais próxima de cada ponto. Os pontos transmitidos não precisam fazer parte de um caminho contínuo.
Se você estiver trabalhando com pontos de GPS sequenciais, use o recurso Ajuste de trajeto.
Solicitações
Uma solicitação de vias mais próximas precisa ser enviada usando HTTPS e tem o seguinte formato:
https://roads.googleapis.com/v1/nearestRoads?parameters&key=YOUR_API_KEYParâmetros obrigatórios
-
pontos
Os pontos a serem ajustados. O parâmetro "points" aceita uma lista de pares de latitude/longitude. Separe os valores de latitude e longitude com vírgulas. Separe as coordenadas com o caractere de barra vertical: "|". Por exemplo:
points=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
Exemplos
A solicitação a seguir retorna um conjunto de segmentos de vias com base na lista de coordenadas especificada.
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'
Respostas
Para cada solicitação válida, o Roads API retorna uma resposta no formato indicado no URL da solicitação.
{ "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", }, ], }
A resposta usa o esquema a seguir.
NearestRoadsResponse
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
|
opcional | Array<SnappedPoint> |
Uma matriz de pontos ajustados. Às vezes, contém vários pontos ajustados para o mesmo ponto com placeId ou local diferente. Consulte SnappedPoint para mais informações. |
SnappedPoint
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
|
required | LatitudeLongitudeLiteral | Consulte LatitudeLongitudeLiteral para mais informações. |
|
required | string |
Um identificador exclusivo de um lugar. Todos os IDs de lugar retornados pela Roads API correspondem a segmentos de vias. |
|
opcional | número |
Um número inteiro que indica o valor correspondente na solicitação original
request. Cada valor na solicitação precisa ser mapeado para um valor ajustado em
a resposta. No entanto, se você tiver definido interpolate=true ou estiver
usando as vias mais próximas, é possível que a resposta contenha mais coordenadas do que a solicitação. Os valores interpolados não terão um |
LatitudeLongitudeLiteral
Um objeto que descreve um local específico com latitude e longitude em graus decimais.
| Campo | Obrigatório | Tipo | Descrição |
|---|---|---|---|
|
required | número |
Latitude em graus decimais |
|
required | número |
Longitude em graus decimais |