Exemplo 6 – Obter rotograma detalhado da rota
A Trip API permite que, além das coordenadas completas da rota, támbem seja retornado um rotograma completo da rota solicitada. O rotograma consiste em uma série de instruções textuais que detalham passo-a-passo a rota.
Hoje esse recurso está disponivel apenas para a Trip Síncrona.
Para utilizar esse recurso basta adicionar o parâmetro turnByTurn
na requisição, indicando em qual idioma deseja receber as instruções.
turnByTurn
– Objeto onde serão especificadas as preferências relacionadas ao rotograma:language
– String que representa o idioma em que as instruções devem ser retornadas, seguindo a convenção pt_BR, es_ES, es_AR, en e assim por diante.
Exemplo de requisição
A requisição abaixo deve ser enviada para o endpoint da Trip Síncrona, com o método POST:
{ "points": [ { "siteId": "Point 1-Vila-Galvao", "latitude": -23.454521350080835, "longitude": -46.57105028629302 }, { "siteId": "Point 2-Aricanduva", "latitude": -23.52933420411184, "longitude": -46.55395656824112 } ], "turnByTurn":{ "language":"pt_BR" } }
Exemplo de resposta
As informações referentes ao rotograma serão retornadas no array de objetos turnByTurn
, onde cada objeto representa uma instrução, conforme detalhada abaixo:
turnByTurn
– Array de objetos, onde cada objeto representa uma instrução específica da rota com as seguintes informações:text
– String com a instrução em si. O idioma deve corresponder ao que foi informado no parâmetrolanguage
;distance
– Número inteiro que representa a distância total em que a instrução se aplica;points
– String contendo o subtrecho da instrução em questão. Os valores deverão ser retornados de acordo com opointsMode
informado na requisição (polyline
,geohash
,array
ouobject
);duration
– Número inteiro que representa a duração total em segundos do trecho em que a instrução se aplica;type
– Enum que especifica qual sinal deve ser exibido. Os valores possíveis são: (Para compatibilidade futura, é importante que a aplicação seja capaz de manipular também sinais de instruções desconhecidos):- “
LEFT_U_TURN
” – Retorno à esquerda; - “
KEEP_LEFT
” – Manter à esquerda; - “
LEAVE_ROUNDABOUT
” – Sair da rotatória; - “
TURN_SHARP_LEFT
” – Curva acentuada à esquerda; - “
TURN_LEFT
” – Virar à esquerda; - “
TURN_SLIGHT_LEFT
” – Curva leve à esquerda; - “
CONTINUE_ON_STREET
” – Continuar na rua; - “
TURN_SLIGHT_RIGHT
” – Curva leve à direita; - “
TURN_RIGHT
” – Virar à direita; - “
TURN_SHARP_RIGHT
” – Curva acentuada à direita; - “
LAST_POINT
” – Instrução final antes do último ponto; - “
VIA_POINT
” – Instrução antes de um ponto de passagem; - “
ROUNDABOUT
” – Instrução antes de entrar em uma rotatória; - “
KEEP_RIGHT
” – Manter à direita; - “
RIGHT_U_TURN
” – Retorno à direita.
- “
exitNumber
– Número inteiro, retornado apenas quandotype
for igual a"ROUNDABOUT"
. Representa qual a saída a rota deve sair da rotatória. Por exemplo:3
significa sair na terceira saída.
A resposta completa desse exemplo pode ser conferida abaixo:
{ "id": "66eb20d4e6de0e4106ffa591", "clientId": "maplink", "totalDistance": 9161, "totalNominalDuration": 532, "averageSpeed": 55.80, "legs": [ { "distance": 9160, "nominalDuration": 532, "averageSpeed": 55.8, "points": "x}cnCx{f{G`Df@lGd@xFTzl@ZlBDzBCr@G`AQd@MpAk@l@_@l@c@b@e@|@mAZm@xKgVtEoK`BgD|@wAjB_ClAsAxBwBnBkAt@]`Cs@fC]fFk@dBIb\\u@xK]fYcAjHIxFAbUd@jIZnBAfLo@dCO`Ns@vCMhLm@bEOnFHNBjAHtEn@Nl@JChDLz@J`AXrH|AtC|@fG~BtAp@fA\\h@JpBX~AFhA@xAE~AStAWnAc@xAs@l[cRxFuCt@c@vDsCdAeAp@e@nO{I", "turnByTurn": [ { "distance": 5567.24, "type": "CONTINUE_ON_STREET", "points": "x}cnCx{f{G`Df@lGd@xFTzl@ZlBDzBCr@G`AQd@MpAk@l@_@l@c@b@e@|@mAZm@xKgVtEoK`BgD|@wAjB_ClAsAxBwBnBkAt@]`Cs@fC]fFk@dBIb\\u@xK]fYcAjHIxFAbUd@jIZnBAfLo@", "text": "Continue na Rodovia Fernão Dias", "duration": 247433 }, { "distance": 1082.322, "type": "CONTINUE_ON_STREET", "points": "fwlnCvsd{GdCO`Ns@vCMhLm@bEOnFHNBjAHtEn@", "text": "Continue na Avenida Educador Paulo Freire e siga em direção a Penha", "duration": 69998 }, { "distance": 24.271, "type": "TURN_RIGHT", "points": "vsnnCnqd{GNl@", "text": "Vire à direita", "duration": 1471 }, { "distance": 2486.666, "type": "TURN_LEFT", "points": "ftnnC|rd{GJChDLz@J`AXrH|AtC|@fG~BtAp@fA\\h@JpBX~AFhA@xAE~AStAWnAc@xAs@l[cRxFuCt@c@vDsCdAeAp@e@nO{I", "text": "Vire à esquerda em direção à SP-010, BR-381", "duration": 213110 }, { "distance": 0.0, "type": "LAST_POINT", "points": "hqrnCdqc{G", "text": "Destino alcançado!", "duration": 0 } ] } ], "source": "MAPLINK", "createdAt": 1726685396934, "expiryIn": 1727290196934 }