Saiba como consultar pontos de interesse durante a rota usando a Trip API.
Para obter o retorno de pontos de interesse durante a rota, será necessário adicionar os seguintes parâmetros na requisição:
-
place - Usado para retornar pontos de interesse (POIs) presentes na rota. Necessário informar os seguintes parâmetros:
-
categories - Categoria do estabelecimento desejado.
-
subCategories - (Opcional) Subcategoria do estabelecimento desejado.
-
bufferRouteInMeters - Número inteiro com o raio de busca de POIs ao longo da rota. Limite de 500 metros.
-
bufferStoppingPointsInMeters - Número inteiro com o raio de busca de POIs nos pontos de paradas. Limite de 500 metros.
-
Para consultar as categorias e subcategorias disponíveis para consulta e cadastro, basta os seguintes endpoins (método GET):
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:
Na resposta, será retornado um array de objetos chamado legs. Cada objeto em legs representa um trecho da rota e irá conter os dados referentes apenas a esse trecho. Sendo a primeira leg correspondente à rota do primeiro ao segundo ponto. A segunda leg corresponde à rota entre o segundo e o terceiro ponto e assim por diante.
Em cada objeto em legs 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 e longitude) do ponto de interesse.
-
-
Abaixa a resposta. As coordenadas encontram-se truncadas, apenas para facilitar a leitura:
{
"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
}