Se você está nessa página, nós assumimos que:
Você já possui uma chave de acesso;

Tenha conhecimento sobre o funcionamento dos exemplos de código através do guia Primeiros passos;

Tenha conhecimento de XML e Web Services SOAP.

O serviço Route disponibiliza através de suas operações as funcionalidades de geração de rotas simples, múltiplas e com percursos alternativos, além de obter dados de custos por trajeto da rota e sumarizados, e opção para renderização de mapa a partir de uma roteirização realizada entre pontos de parada.

A estrutura abaixo contém as informações de versão, endereço de acesso e contrato de operação para o serviço Route.

Nome do serviço: Route
Endereço de acesso: http://services.maplink.com.br/webservices/v5.2/route/route.asmx
Versão atual: 5.2
Funcionalidade Nome da Operação
Geração de rotas GetRoute
Geração de rotas com percursos alternativos GetRouteWithAlternatives
Geração de múltiplas rotas GetMultiRoute
Cálculo de valores totais por rota GetRouteTotals
Cálculo de valores totais por conjunto de rotas GetRouteTotalsBatch
Obter dados de resumo por rota GetRouteSummary
Obter dados de descrição por rota GetrouteDescription
Renderização de mapa por rota GetRouteWithMap

Versões anteriores

Versão Endereço de acesso Documentação
3.0 http://services.maplink.com.br/webservices/v3/route/route.asmx Acessar

A funcionalidade de geração de rotas está disponível através da operação “GetRoute” e tem como objetivo retornar dados detalhados de uma rota gerada a partir de um ponto de origem e destino, sendo possível definir parâmetros de configuração para geração da rota, como por exemplo, tipo da rota a ser gerada, considerando o trajeto mais rápido ou curto, além dos dados de um veículo, como velocidade média e consumo de combustível médio.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeStops” (RouteStop), “routeOptions” (RouteOptions) e “token”, sendo estes descritos em detalhes a seguir:

  • routeStops

Armazena uma implementação da estrutura RouteStop com os pontos de origem, destino e de parada a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • token

Armazena a chave de acesso do requisitante.

Estrutura “RouteStop” contém os dados de pontos de parada de origem e destino e/ou um ou mais pontos de parada existentes na rota a ser gerada.
Nome do Atributo Tipo Descrição
Description Conjunto de caracteres Indica a descrição do ponto de parada
Point Estrutura Point Indica as coordenadas geográficas correspondentes aos pontos de origem e destino
Estrutura “Point” contém as coordenadas de latitude e longitude para um determinado endereço
Nome do Atributo Tipo Descrição
X Número com casas decimais Indica a longitude de uma coordenada geográfica
Y Número com casas decimais Indica a latitude de uma coordenada geográfica
Estrutura “RouteOptions” contém as opções usadas no processo de roteirização.
Nome do Atributo Tipo Descrição
Language Conjunto de caracteres Indica o idioma utilizado para gerar os dados de descrição da rota (valores permitidos: portugues e espanhol)
RouteDetails Estrutura RouteDetails Indica as opções e filtros a serem utilizados para geração da rota
Vehicle Estrutura Vehicle Indica as propriedades do veículo usado no percurso e de categoria de pedágio
RouteLine Estrutura RouteLine Indica o padrão da linha a ser traçada no mapa para a rota gerada
ExcludedZoneGroupId Número inteiro Indica o identificador do grupo de áreas de restrição a serem consideradas para geração de rotas
Controls Estrutura Controls Indica os controles de customização para a rota, como tipo de roteirização (mais curta, mais rápido, a pé, com trânsito), evitando balsas ou estradas de terra, entre outras opções de combinação.
RouteSchedule Estrutura RouteSchedule Indica os valores de partida e chegada para o processo de roteirização.
Estrutura “RouteDetails” contém os detalhes da rota, contendo o tipo da rota e se as paradas sejam otimizadas
Atributo Tipo Descrição
Barriers **descontinuado Conjunto de caracteres **descontinuado Indica um conjunto de bloqueios pré-definidos **descontinuado
BarrierPoints **descontinuado Estrutura Point **descontinuado Indica um conjunto de pontos de bloqueio na rota **descontinuado
DescriptionType Estrutura DescriptionType Indica a descrição da rota (urbana / rodoviária)
OptimizeRoute Booleano Indica a existência de otimização na rota a ser gerada.
A otimização das rotas é feita sobre a malha viária quando o número de pontos da rota não exceda dez pontos (considerando origem, destino e parada), o que significa um resultado mais próximo da melhor rota possível. Entretanto, caso a rota possua dez ou mais pontos, um algoritmo secundário é adotado e o resultado obtido pode apresentar dados não ideais.
Pois Conjunto de caracteres Indica um conjunto de nomes de pontos de interesse. (Esta funcionalidade está pendente de ativação. Para utilização, deve-se verificar com a área comercial)
Toll Booleano Indica a visualização (ativa ou não) dos dados de pedágio na estrutura SegmentDescription, além dos dados de tarifa de pedágios a serem considerados para o cálculo dos valores totais da rota (estrutura RouteTotals). O valor padrão para este parâmetro é “false”. Se não informado, irá considerar o valor padrão.
Estrutura “DescriptionType” contém os atributos para definir a descrição da rota. Possui as opções de rota urbana e rodoviária.
Atributo Descrição
0 Rota urbana
1 Rota rodoviária
Estrutura “Vehicle” contém os atributos para definir as propriedades do veículo considerando na rota e a categoria de pedágio a ser calculada
Atributo Tipo Descrição
AverageConsumption Número com casas decimais Indica o consumo médio do veículo
AverageSpeed **descontinuado Número inteiro
FuelPrice Número com casas decimais Indica o preço do combustível
TankCapacity Número inteiro Indica a capacidade do tanque em litros
TollFeeCategoryId Número inteiro Estrutura TollFeeCategoryId
Estrutura “TollFeeCategoryId” contém os atributos para definir a categoria do pedágio a ser calculado.
Atributo Descrição
0 Não será calculado o valor do pedágio
1 Motocicletas, motonetas e bicicletas a motor
2 Automóvel, caminhoneta e furgão (dois eixos simples)
3 Automóvel, caminhoneta com semi-reboque (três eixos simples)
4 Automóvel, caminhoneta com reboque (quatro eixos simples)
5 Ônibus (dois eixos duplos)
6 Ônibus com reboque (três eixos duplos)
7 Caminhão leve, furgão e cavalo mecânico (dois eixos duplos)
8 Caminhão, caminhão trator e cavalo mecânico com semi-reboque (três eixos duplos)
9 Caminhão com reboque e cavalo mecânico com semi-reboque (quatro eixos duplos)
10 Caminhão com reboque e cavalo mecânico com semi-reboque (cinco eixos duplos)
11 Caminhão com reboque e cavalo mecânico com semi-reboque (seis eixos duplos)
12 Caminhão com reboque e cavalo mecânico com semi-reboque (sete eixos duplos)
13 Caminhão com reboque e cavalo mecânico com semi-reboque (oito eixos duplos)
14 Caminhão com reboque e cavalo mecânico com semi-reboque (nove eixos duplos)
Estrutura “RouteLine” permite realizar a customização da cor da linha da rota gerada
Atributo Tipo Descrição
RGB Conjunto de Caracteres Indica a cor da linha a ser traçada em RGB (sistema de cores aditivas), por exemplo: “255,0,0″
Transparency Número com casas decimais Indica o nível de transparência da linha
width Número inteiro Indica a espessura da linha
Estrutura “Controls” possui opções de customização da rota para traçado da mesma (exemplos: mais curta, mais rápido, com trânsito, transporte público, via pedestre, dentre outras combinações)
Atributo Tipo Descrição
costAdjustment Conjunto de Caracteres Indica os ajustes necessários a serem considerados para cálculo da rota. Valores permitidos: “ferryboat”, “unpavedroad” e “tollroad”.
extensionMap Conjunto de Caracteres Indica um conjunto de dados adicionais que modificam os dados de origem (map) para casos específicos. Nenhum valor disponível atualmente.
map Conjunto de Caracteres Indica a origem de dados do mapa a ser considerado para processo de roteirização. Além do mapa padrão, pode-se utilizar os valores “publicTransportation”, para rotas com transporte público, “traffic” para rotas considerando trânsito, e “bikelanes” para rotas priorizando ciclofaixas, ciclorrotas e demais opções de vias.
mode Conjunto de Caracteres Indica o modelo de roteirização a ser adotado. Valores permitidos: fastest (rota com padrão mais rápido), shortest (rota com padrão mais curto), pedestrian (rota para pedestre).
routeControl Conjunto de Caracteres Indica o base de dados a ser utilizada para processo de roteirização. Atualmente não possui opções de customização. Ao não preencher, considera-se a base padrão.
traffic Conjunto de Caracteres Indica o modelo de cálculo para cálculo da rota, podendo ser realizada com padrão mais rápido ou mais curta, ou simplesmente evitando dados de trânsito. Valores possíveis: “useInRouteWay” ou “useInRouteTime”.
Exemplos de combinações de parâmetros da estrutura Controls para geração de rotas customizadas.
Tipo da rota a ser gerada mode costAdjustment traffic map extensionMap routeControl
Rota padrão mais rápida fastest - - default - -
Rota padrão mais curta shortest - - default - -
Rota para pedestres pedestrian - - default - pedestrianRoute
Rota evitando balsas - {“ferryboat,50″} - default - -
Rota evitando estradas de terra - {“unpavedroad,50″} - default - -
Rota evitando balsas e estradas de terra - {“ferryboat,50″, “unpavedroad,50″} - default - -
Rota evitando estradas em condições precárias - {“unpavedroad,50″} - default - -
Rota evitando pedágios shortest {“tollroad,inf”} - default - -
Rota com transporte público - - - publicTransportation - -
Rota com evitando trânsito - - useInRouteWay,
useInRouteTime
traffic - -
Rota padrão mais rapido com o tempo considerando trânsito fastest - useInRouteTime traffic - -
Rota padrão mais curta com o tempo considerando trânsito shortest - useInRouteTime traffic - -
Rota priorizando ciclovias, ciclofaixas e ciclorrotas - - - bikelanes - -
Estrutura “RouteSchedule” armazena os valores de tempo de partida ou chegada para a rota a ser processada.
Atributo Tipo Descrição
schedule Data e hora: yyyy-mm-dd hh:mm:ss Indica o tempo com dados de data e horário. Ex: 2016-12-31 15:45:04
scheduleOf Conjunto de Caracteres Indica o tipo do horário a ser definido. Valores aceitos: “departure” e “arrival”.

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteResponse”, sendo esta detalhada na estrutura a seguir:

  • routeInfo

Armazena uma implementação da estrutura RouteInfo com os dados de retorno de uma rota calculada.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Estrutura “RouteInfo” contém todas as informações da rota gerada.
Nome do Atributo Tipo Descrição
RouteId Conjunto de caracteres Contém o identificador da rota gerada
MapInfo Estrutura MapInfo Contém a informações do mapa
RoadType Estrutura RoadType Contém o informações do tipo da rota
RouteSummary Estrutura RouteSummary Contém o resumo dos pontos da rota
RouteTotals Estrutura RouteTotals Contém os totais da rota gerada
SegmentDescription Estrutura SegmentDescription Contém as informações da descriçao da rota gerada
Estrutura “MapInfo” contém o endereço de acesso do mapa renderizado e suas dimensões.
Nome do Atributo Tipo Descrição
Extent Estrutura Extent Indica par de coordenadas mínimas e máximas do mapa a ser gerado
URL Conjunto de Caracteres Indica o endereço público de acesso da imagem do mapa com o traçado da rota calculada
Estrutura “Extent” representa a área do mapa através dos valores mínimos e máximos para as coordenadas X e Y
Nome do Atributo Tipo Descrição
XMin Número com casas decimais Indica o valor mínimo da coordenada X
XMax Número com casas decimais Indica o valor máximo da coordenada Y
YMin Número com casas decimais Indica o valor mínimo da coordenada X
YMax Número com casas decimais Indica o valor máximo da coordenada Y
Estrutura “RoadType” contém os tipos de asfalto/piso para as rodovias percorridas na rota.
Nome do Atributo Tipo Descrição
dirtRoad Número com casas decimais Quantidade de quilômetros em pista de terra
ferry Número com casas decimais Quantidade de quilômetros em balsa
oneLaneRoadway Número com casas decimais Quantidade de quilômetros em pista simples
pavingWorkInProgress Número com casas decimais Quantidade de quilômetros de pista em contrução
roadwayInPoorConditions Número com casas decimais Quantidade de quilômetros de pista em más condições
secondLaneUnderConstruction Número com casas decimais Quantidade de quilômetros de segunda pista em duplicação
twoLaneHighway Número com casas decimais Quantidade de quilômetros em pista dupla
Estrutura “RouteSummary” contém um array com o resumo das paradas da rota.
Nome do Atributo Tipo Descrição
Description Conjunto de caracteres Indica a descrição do ponto
Distance Número com casas decimais Distância do persurso
Point Estrutura Point Indica as coordenadas geográficas correspondente ao ponto
Estrutura “RouteTotals” contém os valores totais gastos por rota.
Nome do Atributo Tipo Descrição
TaxiFare1 Número com casas decimais Indica o custo de táxi com bandeira 1
TaxiFare2 Número com casas decimais Indica o custo de táxi com bandeira 2
TotalCost Número com casas decimais Indica o custo total da rota (inclui o custo de combustível e de eventuais pedágios)
TotalDistance Número com casas decimais Indica a distância total da rota em quilômetros
TotalFuelCost Número com casas decimais Indica o custo total de combustível
TotalFuelUsed Número com casas decimais Indica a quantidade de combustível gasta
TotalTime Conjunto de caracteres Indica o tempo total para a rota no padrão ISO8601. Exemplo: P18Y9M4DT11H9M8S (18 anos, 9 meses, 4 dias, 11 horas, 9 minutos and 8 segundos.). Este cálculo é feito considerando a velocidade média da via.
TotalTollFeeCost Número com casas decimais Indica o custo total de pedágios
Estrutura “SegmentDescription” contém os dados de descrição do percurso por rota.
Nome do Atributo Tipo Descrição
Command Conjunto de caracteres Indica os possíveis comandos, sendo eles:

  • Início da rota
  • Fim da rota
  • Siga
  • Continue
  • Siga na unificação
  • Vire à esquerda
  • Vire à direita
  • Faça curva acentuada à esquerda
  • Faça curva acentuada à direita
  • Permaneça à esquerda
  • Permaneça à direita
  • Pegue o retorno
  • Pegue o retorno da direita
  • Parada X (onde X é o ponto de parada requisitado na rota, por exemplo: “Parada 1″)
Description Conjunto de caracteres Indica o nome do logradouro ou rodovia
City Estrutura City Indica a cidade
TollFeeDetails Estrutura TollFeeDetails Indica as iformações das praças de pedágio
RoadType Conjunto de caracteres Contém o tipo do caminho: CP – Condições Precárias ; ED – Em Duplicação ; EP – Em Pavimentação ; PD – Pista Dupla ; T – Terra ; BA – Balsa ; P – Pavimentada
Distance Número com casas decimais Indica a distância do trecho
CumulativeDistance Número com casas decimais Indica a distância acumulada
Point Estrutura Point Indica as coordenadas geográficas correspondente ao ponto
PoiRoute Conjunto de caracteres Indica o tipo do ponto de interesse
PoiRouteDetails Estrutura PoiDetails Indica os dados do ponto de interesse
HasPublicTransportation Conjunto de caracteres Indica a existência de dados de transporte público no segmento corrente, através do status “true”.
PublicTransportationDetails Estrutura PublicTransportationDetails Indica um conjunto de elementos com os dados de transporte público, caso o segmento da rota possua.
Estrutura “City” contém as informações do nome da cidade e de seu estado.
Nome do Atributo Tipo Descrição
Name Conjunto de caracteres Indica o nome da cidade
State Conjunto de Caracteres Indica o nome do estado
Estrutura “TollFeeDetails” contém as informações das praças de pedágio.
Nome do Atributo Tipo Descrição
Id Número inteiro Indica o código de identificação do pedágio
Name Conjunto de caracteres Indica o nome da praça de pedágio
Direction Conjunto de Caracteres Indica o sentido de cobrança do pedágio
Address Conjunto de Caracteres Indica o endereço da praça de pedágio
Concession Conjunto de Caracteres Indica o nome da concessionária
Phone Conjunto de Caracteres Indica o telefone da concessionária
State Conjunto de Caracteres Indica o nome do estado
Prices Estrutura TollFeePrice Indica os preços a serem cobrados na praça de pedágio por categoria de veículo
PricePerAxle Conjunto de Caracteres Indica o valor do pedágio por eixo, sendo este usado para realizar o cálculo do valor final.
Estrutura “TollFeePrice” contém os dados de valores a serem cobrados por praça de pedágio.
Nome do Atributo Tipo Descrição
TollFeeCategoryId Estrutura TollFeeCategoryId Indica o código da categoria do veículo
Price Número com casas decimais Indica o valor a ser cobrado
Estrutura “PoiDetails” contém os dados do ponto de interesse.
Nome do Atributo Tipo Descrição
ClientID Conjunto de caracteres Indica o código de identificação
Name Conjunto de Caracteres Indica o nome
AddressInfo Conjunto de Caracteres Indica o endereço (nome e número da rua/avenida/estrada/rodovia)
source Conjunto de Caracteres Indica a fonte de dados utilizada para obter o dado
Point Estrutura Point Indica as coordenadas geográficas correspondente ao ponto
Estrutura “PublicTransportationDetails” contém os dados de transporte público.
Nome do Atributo Tipo Descrição
Description Conjunto de caracteres Indica a descrição do item descritivo do transporte público
Direction Conjunto de Caracteres Indica o sentido da linha (estação de destino do trem)
Line Conjunto de Caracteres Indica o código da linha do metrô
Details Conjunto de Caracteres Indica os detalhes do item. Preenchido caso ocorra baldeação, do contrário é vazio.
Distance Número com casas decimais Indica a distância entre o item atual e seu predecessor
Type Conjunto de Caracteres Indica o tipo de transporte público (depende do transporte usado na rota e da região em questão. Alguns retornos só estão disponíveis na cidade de São Paulo e outros no Rio de Janeiro, por exemplo). Valores possíveis:

  • BARCAS_S_A
  • CBTU
  • CENTRAL
  • CMTP
  • CPTM
  • CVRD
  • EMTU
  • METRO
  • METROFOR
  • METROREC
  • METRO_DF
  • METRO_RIO
  • SUPERVIA
  • TRENSURB
Point Estrutura Point Indica as coordenadas geográficas correspondente ao ponto
Estrutura “OutputInformation” contém os dados de informações adicionais de saída para a rota.
Nome do Atributo Tipo Descrição
Description Conjunto de caracteres Indica a descrição da informação de saída
Category Estrutura OutputInformationCategory Indica a categoria de informação de saída. Valores existentes:

  • Undefined
  • TollFee
  • PointOfInterest
  • ExcludedZone
  • RouteSchedule

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRoute”, com o objetivo de obter os dados para uma rota gerada a partir de um ponto de origem, de destino e parâmetros de customização.

Como parâmetros de entrada são definidos os pontos de parada através da estrutura RouteStop, sendo origem com os valores de longitude “-46.638818″, latitude “-23.548944″ e descrição “São Paulo, SP”, e de destino com longitude “-47.063240″, latitude “-22.907104″ e descrição “Campinas, SP”.

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo de retorno reduzido):

Visualizar XML SOAP de retorno completo


Rotas com percurso alternativo funcionam apenas com rotas simples com inicio e fim, sem adição de pontos de parada;

A funcionalidade de geração de rotas com percursos alternativos está disponível através da operação “GetRouteWithAlternatives” e tem como objetivo retornar dados detalhados de uma rota gerada a partir de um ponto de origem e destino, acrescentando opções de caminhos alternativos, não se limitando a existência de uma única rota sugerida para o percurso desejado.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeStops” (RouteStop), “routeOptions” (RouteOptions) e “token”, sendo estes descritos em detalhes a seguir:

  • routeStops

Armazena uma implementação da estrutura RouteStop com os pontos de parada de origem e destino a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteWithAlternativesResponse”, sendo esta detalhada na estrutura a seguir:

  • alternativeRouteInfo

Armazena uma implementação da estrutura AlternativeRouteInfo com os dados de retorno da rota gerada, considerando o percurso principal e os caminhos alternativos.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Estrutura “AlternativeRouteInfo” contém os dados de retorno por rota gerada
Nome do Atributo Tipo Descrição
mainRoute Estrutura RouteInfo Indica os dados da rota para o caminho principal
alternatives Estrutura RouteInfo Indica um conjunto de dados de rotas representando os caminhos alternativos

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRouteWithAlternatives”, com o objetivo de obter os dados para uma rota gerada a partir de um ponto de origem, de destino e parâmetros de customização, juntamente com percursos alternativos, não se limitando a uma única possibilidade de rota para os pontos de origem e destino informados.

Como parâmetros de entrada são definidos os pontos de parada através da estrutura RouteStop, sendo origem com os valores de longitude “-46.638818″, latitude “-23.548944″ e descrição “São Paulo, SP”, e de destino com longitude “-47.063240″, latitude “-22.907104″ e descrição “Campinas, SP”.

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação *.

* O código para exibição dos dados de retorno foi ocultado (nos exemplos usando as linguagens de programação C# e Java), pois a estrutura segue a mesma da operação GetRoute.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo reduzido de retorno):

Visualizar XML SOAP de retorno completo

A funcionalidade de geração de múltiplas está disponível através da operação “GetMultiRoute” e tem como objetivo traçar múltiplas rotas, onde são informados múltiplos conjuntos com pontos de origem e destino e são calculadas as rotas para as combinações informadas. O resultado desta operação apresenta os dados sumarizados por roteirização obtida.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “multiRouteRequests” (MultiRouteRequest), “routeOptions” (RouteOptions) e “token”, sendo estes descritos em detalhe a seguir:

  • multiRouteRequests

Armazena uma implementação da estrutura MultiRouteRequest com os pontos de parada de origem e destino a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • token

Armazena a chave de acesso do requisitante.

Estrutura “MultiRouteRequest” contém um conjunto de elementos que representam os pontos de origem e destino.
Nome do Atributo Tipo Descrição
origin Atributo RouteStop Ponto de origem da rota
destination Atributo RouteStop Ponto de destino da rota

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetMultiRouteResponse”, sendo esta detalhada na estrutura a seguir:

  • MultiRoute

Armazena um conjunto de implementações da estrutura MultiRoute de retorno da funcionalidade multi rotas.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Estrutura “MultiRoute” contém a estrutura de retorno da funcionalidade multi rotas.
Nome do Atributo Tipo Descrição
SingleRouteTotals Atributo SingleRouteTotals Conjunto de elementos com os dados por rota calculada, contendo os pontos de origem e destino, dados sumarizados, do mapa e o código de identificação.
Estrutura “SingleRouteTotals” contém os pontos de origem e destino, dados sumarizados e do mapa, e código de identificação
Nome do Atributo Tipo Descrição
origin Atributo RouteStop Ponto de parada de origem
destin Atributo RouteStop Ponto de parada de destino
RouteTotals Atributo RouteTotals Dados sumarizados da rota
logRouteId Conjunto de caracteres Código de identificação da rota
MapInfo Atributo MapInfo Endereço de acesso do mapa e objeto “Extent” com as suas dimensões

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetMultiRoute”, com o objetivo de obter os dados para as rotas geradas a partir do conjunto de pontos de origem e destino informados na solicitação da operação.

Como parâmetros de entrada são definidos os seguintes pontos de parada através da estrutura RouteStop:

Primeira rota:

  • Origem com longitude “-46.638818″, latitude “-23.548944″ e descrição “São Paulo – SP”
  • Destino com longitude “-47.063240″, latitude “-22.907104″ e descrição “Campinas – SP”

Segunda rota:

  • Origem com longitude “-47.299125″, latitude “-23.265697″ e descrição “Itú – SP”
  • Destino com longitude “-47.455910″, latitude “-23.506229″ e descrição “Sorocaba – SP”

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de Resposta:

Visualizar XML SOAP de retorno completo

A funcionalidade de cálculo de valores totais por rota está disponível através da operação “GetRouteTotals” e tem como objetivo retornar os dados detalhados dos valores totais obtidos para a rota gerada a partir dos pontos de origem e destino informados. O retorno da operação possui os dados de distância total percorrida, tempo total gasto, entre outros atributos a serem detalhados na estrutura de resposta “RouteTotals”.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeStops” (RouteStop), “routeOptions” (RouteOptions) e “token”, sendo estes descritos em detalhe a seguir:

  • routeStops

Armazena uma implementação da estrutura RouteStop com os pontos de parada de origem e destino a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteTotalsResponse”, sendo esta detalhada na estrutura a seguir:

  • routeTotals

Armazena uma implementação da estrutura RouteTotals com os valores totais gastos por rota.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRouteTotals” e tem como objetivo retornar os dados totais gastos para realizar a rota gerada, considerando atributos como custo de combustível, táxi, distância em kilometros, entre outros indicadores.

Como parâmetros de entrada são definidos os pontos de parada através da estrutura RouteStop, sendo origem com os valores de longitude “-46.6520066″, latitude “-23.5650127″ e descrição “Avenida Paulista, 1000″, e de destino com longitude “-46.679055″, latitude “-23.589735″ e descrição “Av Pres Juscelino Kubitschek, 1000″.

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de Resposta:

A funcionalidade de cálculo de valores totais para um conjunto de rotas está disponível através da operação “GetRouteTotalsBatch” e tem como objetivo retornar os dados detalhados dos valores totais obtidos para as rotas geradas, sendo estas geradas a partir do conjunto de pontos de origem e destino, além das opções da rota informados na solicitação da operação. O retorno da operação possui as informações de distância total percorrida, tempo total gasto, entre outros dados a serem detalhados na estrutura de resposta “RouteTotals”.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeTotalsBatchRequest” (RouteTotalsBatchRequest) e “token”, sendo estes descritos em detalhes a seguir:

  • routeTotalsBatchRequest

Armazena um conjunto de implementaçãoes da estrutura RouteTotalsBatchRequest com as definições de pontos de parada e opções para cálculo de uma rota. É possível solicitar os dados totais de múltiplas rotas por requisição a esta operação, pois este parâmetro permite fornecer um conjunto de objetos.

  • token

Armazena a chave de acesso do requisitante.

Estrutura “RouteTotalsBatchRequest” contém os dados de pontos de parada e configuração de uma rota a ser calculada para obtenção dos seus dados totais.
Nome do Atributo Tipo Descrição
origin Estrutura RouteStop Contém os pontos de origem, destino e a descrição para o ponto de parada
destination Estrutura RouteStop Contém os pontos de origem, destino e a descrição para o ponto de parada
options Estrutura RouteOptions Contém as configurações a serem consideradas para cálculo da rota

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteTotalsBatchResponse”, sendo esta detalhada na estrutura a seguir:

  • getRouteTotalsBatchInfo

Armazena um conjunto de implementações da estrutura GetRouteTotalsBatchInfo com os valores totais gastos por rota.

Estrutura “GetRouteTotalsBatchInfo” contém os dados de valores totais de um conjunto de rotas solicitadas.
Nome do Atributo Tipo Descrição
requestData Estrutura RouteTotalsBatchRequest Contém os dados de requisição de pontos de parada e configuração da rota solicitada
routeTotals Estrutura RouteTotals Contém os dados de valores totais para a rota solicitada
outputInformations Estrutura OutputInformation Contém conteúdos informativos sobre a rota calculada.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRouteTotalsBatch”, com o objetivo de retornar os dados totais gastos para realizar múltiplas rotas solicitadas, considerando atributos como custo de combustível, táxi, distância em kilometros, entre outros indicadores, baseado em um conjunto de pontos de origem e destino e configurações por rota.

Como parâmetros de entrada são solicitadas duas rotas a serem gerados, onde cada uma possui os seguintes parâmetros:

Primeira rota:

  • Origem com longitude “-46.638818″, latitude “-23.548944″ e descrição “São Paulo / SP”
  • Destino com longitude “-43.209587″, latitude “-22.903538″ e descrição “Rio de Janeiro / RJ”

Segunda rota:

  • Origem com longitude “-49.273252″, latitude “-25.428355″ e descrição “Curitiba / PR”
  • Destino com longitude “-51.228734″, latitude “-30.027704″ e descrição “Porto Alegre / RS”

Ambas as rotas utilizam as mesmas configurações através da estrutura RouteOptions.

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de Resposta:

Visualizar XML SOAP de retorno completo

A funcionalidade de obter dados de resumo por rota está disponível através da operação “GetRouteSummary” e tem como objetivo retornar, de forma resumida, o cálculo de rota entre dois ou mais pontos de parada.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeStops” (RouteStop), “routeOptions” (RouteOptions) e “token”, sendo estes descritos em detalhes a seguir:

  • routeStops

Armazena uma implementação da estrutura RouteStop com os pontos de parada de origem e destino a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteSummaryResponse”, sendo esta detalhada na estrutura a seguir:

  • routeSummary

Armazena um conjunto de implementações da estrutura RouteSummary com dados sumarizados por rota.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRouteSummary”, com o objetivo de obter os dados sumarizados para o cálculo de rotas gerado a partir dos pontos de origem e destino informados.

Como parâmetros de entrada são informados três pontos de parada através da estrutura RouteStop, conforme relação abaixo:

  • Descrição “São Paulo / SP”, latitude “-23.548944″ e longitude “-46.638818″
  • Descrição “Rio de Janeiro / RJ”, latitude “-22.903538″ e longitude “-43.209587″
  • Descrição “Belo Horizonte / MG”, latitude “-19.918985″, longitude “-43.941356″

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de Resposta:

A funcionalidade de obter dados de descrição por rota está disponível através da operação “GetRouteDescription” e tem como objetivo retornar a descrição da rota, incluindo os passos necessários para chegar ao local desejado, considerando um ponto de origem e destino. Esses dados incluem indicações de percurso, como por exemplo: “siga em frente, vire a direta ou esquerda”, juntamente com a distância a ser percorrida neste trajeto.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeStops” (RouteStop), “routeOptions” (RouteOptions) e “token”, sendo estes descritos em detalhes a seguir:

  • routeStops

Armazena uma implementação da estrutura RouteStop com os pontos de parada de origem e destino a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • token

Armazena a chave de acesso do requisitante.

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteDescriptionResponse”, sendo esta detalhada na estrutura a seguir:

  • segmentDescriptions

Armazena um conjunto de implementações da estrutura SegmentDescription com os dados de descrição do percurso por rota.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRouteDescription”, com o objetivo de obter os dados de descrição do percurso a ser seguido para a rota gerada, considerando os pontos de origem e destino informados na solicitação da operação.

Como parâmetros de entrada são definidos os pontos de parada através da estrutura RouteStop, sendo origem com os valores de longitude “-46.638818″, latitude “-23.548944″ e descrição “São Paulo, SP”, e de destino com longitude “-47.063240″, latitude “-22.907104″ e descrição “Campinas, SP”.

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de resposta (exemplo reduzido de retorno):

Visualizar XML SOAP de retorno completo

A funcionalidade de renderização de mapas por rota está disponível através da operação “GetRouteWithMap” e tem como objetivo retornar os dados da rota gerada, seguindo o mesmo escopo de saída da operação GetRoute, com a diferença de incluir o endereço de acesso para o mapa renderizado e as dimensões do mapa cobrindo a área da rota obtida.

Contrato de entrada – Requisição

O contrato de requisição possui os parâmetros “routeStops” (RouteStop), “routeOptions” (RouteOptions), “mapOptions” (MapOptions) e “token”, sendo estes descritos em detalhe a seguir:

  • routeStops

Armazena uma implementação da estrutura RouteStop com os pontos de parada de origem e destino a serem utilizados para geração da rota.

  • routeOptions

Armazena uma implementação da estrutura RouteOptions com as opções e filtros a serem considerados para realizar a roteirização.

  • mapOptions

Armazena uma implementação da estrutura MapOptions com os parâmetros para geração do mapa.

  • token

Armazena a chave de acesso do requisitante.

Estrutura “MapOptions” contém as propriedades e filtros para geração de um mapa
Nome do Atributo Tipo Descrição
mapSize Estrutura MapSize Indica as propriedades de dimensão para um mapa
scaleBar Booleano Disponibiliza opção para exibição de barra de escala em um mapa
Estrutura “MapSize” contém as propriedades de dimensão de um mapa
Nome do Atributo Tipo Descrição
height Número inteiro Indica a altura do mapa
width Número inteiro Indica a largura do mapa

Contrato de saída – Resposta

O contrato de resposta é representado pela estrutura “GetRouteWithMapResponse”, sendo esta detalhada na estrutura a seguir:

  • routeInfo

Armazena uma implementação da estrutura RouteInfo com os dados de retorno de uma rota calculada.

  • outputInformations

Armazena um conjunto de implementações da estrutura OutputInformation contendo conteúdos informativos sobre a rota calculada.

Consumo

A seguir é apresentando um exemplo de consumo do serviço “Route” utilizando a operação “GetRouteWithMap”, com o objetivo de obter todos os dados para a rota gerada e o endereço de acesso para o mapa renderizado, demonstrando a região onde há trechos do trajeto para a rota obtida.

Como parâmetros de entrada são definidos os pontos de parada através da estrutura RouteStop, sendo origem com os valores de longitude “-46.638818″, latitude “-23.548944″ e descrição “São Paulo, SP”, e de destino com longitude “-47.063240″, latitude “-22.907104″ e descrição “Campinas, SP”. O parâmetro MapOptions define as características do mapa a ser gerado, onde são informados os valores “800″ para largura e “800″ para altura.

O retorno possui a mesma estrutura da operação GetRoute, adicionando os valores na estrutura MapOptions com os dados do mapa renderizado para a rota obtida.

Abaixo são apresentados exemplos de implementação para consumo da operação em diferentes linguagens de programação.

O serviço recebe a requisição, realiza o processamento interno e retorna uma mensagem no formato XML com o resultado da operação.

XML SOAP de Resposta:

Visualizar XML SOAP de retorno completo

A seguir são apresentadas as imagens obtidas com um mapa renderizado seguindo o exemplo descrito anteriormente e fazendo uma customização, com o objetivo de notar as diferenças no resultado do mapa gerado a partir da mudança nos parâmetros de entrada da operação.