2.7. Exemplo 5 - Rota com pontos de interesse
Nesse exemplo, temos uma rota entre Campo Grande - MS e Rio de Janeiro - RJ, onde queremos identificar todos os postos de fiscalização presentes na rota. Para isso vamos acrescentar o parâmetro place
. Em categories
informamos a categoria "FISCALIZACAO"
e em bufferRouteInMeters
e bufferStoppingPointsInMeters
especificamos que queremos um raio de busca de 10 metros durante a rota e 20 metros nos pontos de parada respectivamente.
{
"calculationMode": "THE_FASTEST",
"points": [
{
"latitude": -20.46326264290572,
"longitude": -54.612264694166356,
"siteId": "Point 1-Campo Grande-MS"
},
{
"latitude": -22.907660731374474,
"longitude": -43.18378983504734,
"siteId": "Point 2-Rio de Janeiro-RJ"
}
],
"place": {
"categories": [
"FISCALIZACAO"
],
"bufferRouteInMeters": 10,
"bufferStoppingPointsInMeters": 20
}
}
O resultado pode ser observado no mapa abaixo, onde cada ícone representa um ponto de interesse encontrado durante a rota:
A response é apresentada de forma truncada neste texto para facilitar a leitura. A resposta completa pode ser conferida no anexo abaixo:
Em cada leg
será retornado o objeto placeCalculation
com as seguintes informações:
total
- Número inteiro com o total de pontos de interesse encontrados no trecho;places
- Array de objetos, onde cada objeto representa um ponto de interesse encontrada. As seguintes informações são retornadas em cada objeto:id
- ID interno do ponto de interesse;category
- Categoria a qual o ponto de interesse pertence;subCategory
- Subcategoria a qual o ponto de interesse pertence;address
- Objeto contendo informações do endereço do ponto de interesse:street
- Rua do ponto de interesse;number
- Número do ponto de interesse;city
- Cidade do ponto de interesse;state
- Estado do ponto de interesse;point
- Objeto com as coordenadas (latitude
elongitude
) do ponto de interesse.
Segue a resposta truncada:
{
"id": "62a10bb83c37ae50da44e5db",
"clientId": "maplink",
"totalDistance": 1419705,
"totalNominalDuration": 62024,
"averageSpeed": 82.4,
"legs": [
{
"distance": 1419705,
"nominalDuration": 62024,
"averageSpeed": 82.4,
"points": [
{
"latitude": -20.46317952376137,
"longitude": -54.612278411463116
}
........(truncado).........
{
"latitude": -22.907659462421773,
"longitude": -43.1837901886899
}
],
"placeCalculation": {
"total": 6,
"places": [
{
"id": "61b0c57caeddba55769f812b",
"category": "FISCALIZACAO",
"subCategory": "BALANCAS",
"address": {
"street": "Rodovia Comandante João Ribeiro de Barros",
"number": "KM 224+800",
"city": "Pederneiras",
"state": "SP",
"point": {
"latitude": -22.32242165,
"longitude": -48.96494395
}
},
"active": true
},
{
"id": "61b0c59c0b666c4e05a14943",
"category": "FISCALIZACAO",
"subCategory": "BALANCAS",
"address": {
"street": "Rodovia Washington Luís",
"number": "KM 197+100",
"city": "Corumbataí",
"state": "SP",
"point": {
"latitude": -22.26734202,
"longitude": -47.70399607
}
},
"active": true
},
{
"id": "61b0c57caeddba55769f812c",
"category": "FISCALIZACAO",
"subCategory": "BALANCAS",
"address": {
"street": "Rodovia Washington Luís",
"number": "KM 155+180",
"city": "Cordeirópolis",
"state": "SP",
"point": {
"latitude": -22.49722347,
"longitude": -47.41750679
}
},
"active": true
},
{
"id": "61b0c5810b666c4e05a148e8",
"name": "KM 112",
"category": "FISCALIZACAO",
"subCategory": "BALANCAS",
"address": {
"street": "Rodovia Anhanguera",
"number": "KM 112",
"city": "Sumaré",
"state": "SP",
"point": {
"latitude": -22.81269811,
"longitude": -47.21068737
}
},
"active": true
},
{
"id": "61b0c5960b666c4e05a1492f",
"name": "Posto Fiscal Estado do Rio de Janeiro",
"category": "FISCALIZACAO",
"subCategory": "POSTO_FISCAL",
"address": {
"street": "Rodovia Presidente Dutra",
"number": "KM 323+667",
"city": "Itatiaia",
"state": "RJ",
"point": {
"latitude": -22.50462288,
"longitude": -44.6116333
}
},
"active": true
},
{
"id": "61b0c57caeddba55769f812e",
"name": "Praça de Balança Queluz",
"category": "FISCALIZACAO",
"subCategory": "BALANCAS",
"address": {
"street": "Rodovia Presidente Dutra",
"number": "KM 000+827",
"city": "Queluz",
"state": "SP",
"point": {
"latitude": -22.5179217,
"longitude": -44.7067999
}
},
"active": true
}
]
}
}
],
"source": "MAPLINK",
"createdAt": 1654721486362
}