API Distance Matrix | Tempo e distância de viagem

Diretrizes para desenvolvedores
Antes de começar
É um serviço de API HTTP projetado para calcular todas as combinações possíveis entre o ponto de partida e o destino e permite considerar o congestionamento do tráfego e um meio de transporte específico. Essa API de tempo de viagem está disponível em qualquer lugar do mundo e garante um nível similar de precisão e resposta com os melhores análogos.

Nesta documentação da API Distance Matrix, você pode encontrar uma introdução sobre o uso do produto e material de referência sobre os parâmetros disponíveis.

O que você pode fazer com a API Distance Matrix?

Este produto garante aos desenvolvedores um cálculo do tempo de viagem e da distância entre alguns pontos. Portanto, diferentes tipos de serviços de entrega e correio, como entrega de alimentos, mercadorias e medicamentos, têm benefícios significativos de seu uso. Além disso, você pode usar nossa API no planejamento de rotas, logística e transporte, bem como no desenvolvimento de software, imóveis e serviços residenciais e comerciais.

Em particular, o produto é extremamente útil para aplicações de táxi. Ele permite calcular o tempo de entrega do carro respeitando os engarrafamentos e congestionamentos.

Para escolher a rota mais curta do serviço de entrega de comida em cafés e restaurantes, nossa API de tempo de viagem calcula o tempo de entrega de cada restaurante até o endereço do cliente, considerando o congestionamento rodoviário.

Por que usar a API Distance Matrix?

Você pode usar nosso produto para encontrar o ponto de destino mais próximo do ponto de origem ou para qualquer outra finalidade. A API retornará a duração e a distância na rota mais rápida ou mais curta de cada elemento. Por sua vez, cada elemento é um par origem-destino.

Essa solução funciona em todo o mundo e está disponível para os modos de dirigir, caminhar, andar de bicicleta e transporte público.

Se o tráfego em tempo real não afetar significativamente sua empresa, você poderá economizar tempo e aumentar o desempenho do produto usando sua versão sem monitoramento de tráfego. Para grandes volumes de cálculo, você pode considerar nossa API de matriz de distância assíncrona.

Como usar a API Distance Matrix

Você fornece dados de entrada (endereços ou coordenadas) para os quais deseja fazer uma estimativa. Você receberá uma resposta no formato JSON e a resposta conterá informações sobre a duração de cada seção de rota construída. O tempo de viagem calculado para uma seção de rota sempre leva em conta as condições atuais do tráfego e a previsão do tráfego.

Por exemplo, há três locais iniciais A, B e C e três locais de destino E, B e D. A API Distance retorna a matriz de durações em segundos e distâncias em metros entre os locais. Ele não retorna geometrias de rota.
origens\ destinos
E
B
D
UM
A a E
A a B
A a D
B
B a E
B a B = 0
B a D
C
C a E
C a B
C a D
O tempo e a distância entre os pontos podem não ser simétricos, pois as rotas podem diferir de acordo com a direção devido a ruas de mão única ou restrições de curva. Por exemplo, A a B pode ter uma duração diferente de B a A.

As seções a seguir garantem informações mais detalhadas com base nos exemplos da API Distance Matrix.

Parâmetros de solicitação

A solicitação da API Distance Matrix foi criada especificamente para ser semelhante ao formato de solicitação da API Distance Matrix do Google. Você pode obter mais informações sobre o Migrar para a API Distancematrix.ai página.
Uma solicitação da API Distance Matrix tem o seguinte formato:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=<origin_location_1|origin_location_2|...|origin_location_n>&destinations=<destination_location_1|destination_location_2|...|destination_location_n>&key=<your_access_token>
Copiado!
Um exemplo de solicitação da API Distance Matrix:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.4822656,-0.1933769&destinations=51.4994794,-0.1269979&key=<your_access_token>
Copiado!

Parâmetros necessários

origens — um ponto de partida para calcular a distância e o tempo de viagem. Você pode fornecer um ou mais locais separados pelo caractere vertical (|) na forma de um endereço ou coordenadas de latitude/longitude:
1. Se você passar um endereço, o serviço geocodifica a string e a converte em uma coordenada de latitude/longitude para calcular a distância. Essa coordenada pode ser diferente daquela retornada pela API de Geocodificação, por exemplo, a entrada de um prédio em vez de seu centro.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com endereços:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=Westminster Abbey, 20 Deans Yd, Westminster, London SW1P 3PA, United Kingdom&destinations=St John's Church, North End Rd, Fulham, London SW6 1PB, United Kingdom&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "St John's Church, North End Rd, London SW6 1PB, United Kingdom"
    ],
    "origin_addresses": [
        "Westminster Abbey, 20 Deans Yd, London SW1P 3PA, United Kingdom"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "7.3 km",
                        "value": 7346
                    },
                    "duration": {
                        "text": "23 mins",
                        "value": 1401
                    },
                    "origin": "Westminster Abbey, 20 Deans Yd, Westminster, London SW1P 3PA, United Kingdom",
                    "destination": "St John's Church, North End Rd, Fulham, London SW6 1PB, United Kingdom",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!
2. Se você passar as coordenadas de latitude/longitude, elas serão usadas inalteradas para calcular a distância. Certifique-se de que não haja espaço entre os valores de latitude e longitude.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com coordenadas:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.4822656,-0.1933769&destinations=51.4994794,-0.1269979&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Westminster Abbey, London SW1P 3PA, UK"
    ],
    "origin_addresses": [
        "Chapel, London SW6 1BA, UK"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "7.6 km",
                        "value": 7567
                    },
                    "duration": {
                        "text": "22 mins",
                        "value": 1359
                    },
                    "origin": "51.4822656,-0.1933769",
                    "destination": "51.4994794,-0.1269979",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!
  • destinos — um ou mais locais a serem usados como destino final para calcular a distância e o tempo de viagem. As opções para o parâmetro de destino são as mesmas do parâmetro original, conforme descrito acima.
  • key — a chave de API do seu aplicativo.

Parâmetros opcionais

  • modo (o padrão é dirigir) — especifica o modo de transporte a ser usado ao calcular a distância. Os valores válidos e outros detalhes da solicitação são especificados na Modos de viagem seção deste documento.
  • idioma — um idioma usado para retornar resultados.
    • Veja a lista de idiomas compatíveis.
    • Se o idioma não for fornecido, a API tentará usar o idioma preferencial, conforme especificado no cabeçalho Accept-Language, ou o idioma nativo do domínio do qual a solicitação é enviada.
    • A API faz o possível para fornecer um endereço que seja legível tanto para o usuário quanto para os habitantes locais. Para atingir esse objetivo, ele retorna endereços no idioma local, transliterados para um script legível pelo usuário, se necessário, observando o idioma preferido. Todos os outros endereços são retornados no idioma preferido. Os componentes de endereço são todos retornados no mesmo idioma, que é escolhido no primeiro componente.
    • Se um nome não estiver disponível no idioma preferido, a API usará a correspondência mais próxima.
    • O idioma preferido tem uma pequena influência no conjunto de resultados que a API escolhe retornar e na ordem em que eles são retornados. O geocodificador interpreta as abreviações de forma diferente dependendo do idioma, como as abreviações para tipos de ruas ou sinônimos que podem ser válidos em um idioma, mas não em outro. Por exemplo, utca e tér são sinônimos de rua em húngaro.
Mostrar idiomas
Ocultar idiomas
Código do idioma
Idioma
Código do idioma
Idioma
de
afrikaans
sim
japonesa
sq
albanesa
kn
canarês
sou
Amárico
kk
cazaque
sou
árabe
quilômetro
Khmer
por que
armênio
ko
coreana
az
azerbaijano
chave
Quirguiz
eu
Basco
lo
laosiano
ser
Bielorrusso
lv
letão
bn
bengali
lt
lituano
b)
bósnio
mk
Macedônio
por
búlgaro
ms
malaio
meu
birmanês
ml
Malaiala
ca
catalão
sr.
Marathi
zh
chinês
homem
mongol
zh-CN
Chinês (simplificado)
um
Nepalês
Zh-HK
Chinês (Hong Kong)
não
norueguês
Zh-TW
Chinês (tradicional)
pl
polonês
hr
croata
pt
portuguesa
cs
Tcheco
pt-BR
Português (Brasil)
da
dinamarquês
pt-PT
Português (Portugal)
nl
holandês
pa
punjabi
en
Inglês
ou
romeno
pt-BR
Inglês (australiano)
ru
russa
pt-BR
Inglês (Grã-Bretanha)
sr.
sérvio
et
estoniano
é
Cingalês
fa
Farsi
perguntar
eslovaca
se
finlandês
sl
esloveno
arquivo
Filipino
Sim
espanhol
fr
francês
es-419
Espanhol (América Latina)
fr-CA
Francês (Canadá)
sw
suaíli
gl
galego
sv
sueca
ka
georgiano
chá
tâmil
de
alemã
o
Télugo
el
grego
o
tailandês
arma
Gujarati
tentar
turca
é
hebreu
reino unido
ucraniano
oi
hindi
ur
urdu
hu
húngaro
uz
Uzbeque
é
islandês
vi
vietnamita
id
indonésio
zu
zulu
isso
italiano


  • evitar — introduz restrições à rota. Os valores válidos são especificados na Restrições seção deste documento. Somente uma restrição pode ser especificada.
  • unidades — especifica o sistema de unidades a ser usado ao expressar a distância como texto. Veja o Sistemas de unidades seção deste documento para obter mais informações.
  • arrival_time — especifica a hora de chegada desejada para solicitações de trânsito, em segundos desde a meia-noite de 1º de janeiro de 1970, UTC. Você pode especificar a hora de partida ou a hora de chegada, mas não ambas. Observe que arrival_time deve ser especificado como um número inteiro.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com arrival_time:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.507033,-0.1277161&destinations=52.486243,-1.890401&arrival_time=now&transit_mode=bus&mode=transit&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Raw Network, Sherborne B16 8FN, United Kingdom"
    ],
    "origin_addresses": [
        "Giaralis Karavasilis Tsavdaridis, 49 The Mall, London N14 6LR, United Kingdom"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "166.4 km",
                        "value": 166409
                    },
                    "duration": {
                        "text": "4 hour 2 mins",
                        "value": 14524
                    },
                    "origin": "51.507033,-0.1277161",
                    "destination": "52.486243,-1.890401",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!
  • departure_time — a hora desejada da partida. Você pode especificar a hora como um número inteiro em segundos desde a meia-noite de 1º de janeiro de 1970, UTC. Como alternativa, você pode especificar um valor de agora, que define a hora de partida para a hora atual (correta para o segundo mais próximo). O departure_time deve ser definido para a hora atual ou em algum momento no futuro. Não pode estar no passado. Os resultados de uma determinada solicitação podem variar com o tempo devido às mudanças na rede rodoviária, às condições médias de tráfego atualizadas e à natureza distribuída do serviço. Os resultados também podem variar entre rotas quase equivalentes a qualquer momento ou frequência. O horário de partida pode ser especificado em dois casos:
    • Para solicitações em que o modo de viagem é de trânsito: opcionalmente, você pode especificar um dos horários de partida ou chegada. Se nenhuma hora for especificada, o padrão departure_time será agora (ou seja, o horário de partida será padronizado para o horário atual).
    • Para solicitações em que o modo de viagem está dirigindo: você pode especificar o horário de partida para receber uma rota e a duração da viagem (campo de resposta: duration_in_traffic) que levem em consideração as condições do tráfego. O departure_time deve ser definido para a hora atual ou em algum momento no futuro. Não pode estar no passado.
* Nota: Se o horário de partida não for especificado, a escolha da rota e da duração é baseada na rede rodoviária e nas condições médias de tráfego independentes do tempo. Os resultados de uma determinada solicitação podem variar com o tempo devido a mudanças na rede rodoviária, às condições médias de tráfego atualizadas e à natureza distribuída do serviço. Os resultados também podem variar entre rotas quase equivalentes a qualquer momento ou frequência.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com departure_time:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.507033,-0.1277161&destinations=52.486243,-1.890401&departure_time=now&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Raw Network, Sherborne B16 8FN, United Kingdom"
    ],
    "origin_addresses": [
        "Giaralis Karavasilis Tsavdaridis, 49 The Mall, London N14 6LR, United Kingdom"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "207.3 km",
                        "value": 207323
                    },
                    "duration": {
                        "text": "2 hour 27 mins",
                        "value": 8844
                    },
                    "duration_in_traffic": {
                        "text": "2 hour 29 mins",
                        "value": 8968
                    },
                    "origin": "51.507033,-0.1277161",
                    "destination": "52.486243,-1.890401",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!
  • traffic_model (o padrão é best_guess) — especifica as suposições a serem usadas ao calcular o tempo no trânsito. Essa configuração afeta o valor retornado no campo duration_in_traffic na resposta, que contém o tempo previsto no tráfego com base nas médias históricas. O parâmetro traffic_model só pode ser especificado para solicitações em que o modo de viagem está acionando e quando a solicitação inclui um departure_time. Os valores disponíveis para esse parâmetro são:
    • best_guess (padrão) indica que o duration_in_traffic retornado deve ser a melhor estimativa do tempo de viagem, considerando o que se sabe sobre as condições históricas do tráfego e o tráfego ao vivo. O tráfego ao vivo se torna mais importante quanto mais próximo o horário de partida estiver de agora.
    • O pessimista indica que o duration_in_traffic retornado deve ser maior do que o tempo real de viagem na maioria dos dias, embora dias ocasionais com condições de tráfego particularmente ruins possam exceder esse valor. Afeta o campo na resposta distance_in_traffic_model, retornando a rota mais curta.
    • otimista indica que a duration_in_traffic retornada deve ser menor do que o tempo real de viagem na maioria dos dias, embora dias ocasionais com condições de tráfego particularmente boas possam ser mais rápidos do que esse valor. Afeta o campo na resposta distance_in_traffic_model, retornando a rota mais curta.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com traffic_model:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.507033,-0.1277161&destinations=52.486243,-1.890401&traffic_model=pessimistic&departure_time=now&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Raw Network, Sherborne B16 8FN, United Kingdom"
    ],
    "origin_addresses": [
        "Giaralis Karavasilis Tsavdaridis, 49 The Mall, London N14 6LR, United Kingdom"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "207.3 km",
                        "value": 207323
                    },
                    "duration": {
                        "text": "2 hour 27 mins",
                        "value": 8844
                    },
                    "duration_in_traffic": {
                        "text": "4 hour 0 mins",
                        "value": 14400
                    },
                    "distance_in_traffic_model": {
                        "text": "118 miles",
                        "value": 189274
                    },
                    "origin": "51.507033,-0.1277161",
                    "destination": "52.486243,-1.890401",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!
  • transit_mode — especifica um ou mais modos preferenciais de trânsito. Esse parâmetro só pode ser especificado para solicitações em que o modo é de trânsito. O parâmetro suporta os seguintes argumentos:
    • ônibus indica que a rota calculada deve preferir viajar de ônibus.
    • metrô indica que a rota calculada deve preferir viajar de metrô.
    • trem indica que a rota calculada deve preferir viajar de trem.
    • bonde indica que a rota calculada deve preferir viajar de bonde e trem leve.
    • ferrovia indica que a rota calculada deve preferir viajar de trem, bonde, metrô leve e metrô. Isso é equivalente a transit_mode=train|tram|subway.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com transit_mode:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.507033,-0.1277161&destinations=52.486243,-1.890401&transit_mode=bus|train|tram|subway&mode=transit&departure_time=now&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Raw Network, Sherborne B16 8FN, United Kingdom"
    ],
    "origin_addresses": [
        "Giaralis Karavasilis Tsavdaridis, 49 The Mall, London N14 6LR, United Kingdom"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "207.3 km",
                        "value": 207323
                    },
                    "duration": {
                        "text": "2 hour 27 mins",
                        "value": 8844
                    },
                    "duration_in_traffic": {
                        "text": "2 hour 29 mins",
                        "value": 8968
                    },
                    "origin": "51.507033,-0.1277161",
                    "destination": "52.486243,-1.890401",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!

Modos de viagem

Para o cálculo das distâncias, você pode especificar o modo de transporte a ser usado. Por padrão, as distâncias são calculadas para o modo de condução. Os seguintes modos de viagem são suportados:
  • dirigir (padrão) indica o cálculo da distância usando a rede rodoviária.
  • a caminhada solicita o cálculo da distância para caminhar por caminhos e calçadas para pedestres (quando disponível).
  • o ciclismo solicita o cálculo da distância para andar de bicicleta por meio de ciclovias e ruas preferidas (quando disponível).
  • cálculo da distância de solicitações de trânsito por meio de rotas de transporte público (quando disponível). Se você definir o modo de trânsito, precisará especificar um horário de partida ou um horário_chegada. Se nenhuma hora for especificada, o padrão departure_time será agora (ou seja, o horário de partida será padronizado para o horário atual). Você também precisa incluir um transit_mode.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com modos de viagem:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.4822656,-0.1933769&destinations=51.4994794,-0.1269979&mode=walking&departure_time=now&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Westminster Abbey, London SW1P 3PA, UK"
    ],
    "origin_addresses": [
        "Chapel, London SW6 1BA, UK"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "5.7 km",
                        "value": 5699
                    },
                    "duration": {
                        "text": "1 hour 12 mins",
                        "value": 4379
                    },
                    "origin": "51.4822656,-0.1933769",
                    "destination": "51.4994794,-0.1269979",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!

Informações de trânsito

As informações de trânsito são usadas quando tudo o seguinte se aplica (essas são as condições necessárias para receber o campo duration_in_traffic na resposta da Matriz de Distância):
  • O parâmetro do modo de viagem é dirigir ou não está especificado (dirigir é o modo de viagem padrão).
  • A solicitação inclui um parâmetro departure_time válido. O departure_time pode ser definido para o horário atual ou algum outro horário.
Opcionalmente, você pode incluir o parâmetro traffic_model em sua solicitação para especificar as suposições a serem usadas ao calcular o tempo no trânsito.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com informações de trânsito:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.4822656,-0.1933769&destinations=51.4994794,-0.1269979&mode=driving&departure_time=now&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Westminster Abbey, London SW1P 3PA, UK"
    ],
    "origin_addresses": [
        "Chapel, London SW6 1BA, UK"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "7.6 km",
                        "value": 7567
                    },
                    "duration": {
                        "text": "22 mins",
                        "value": 1359
                    },
                    "duration_in_traffic": {
                        "text": "23 mins",
                        "value": 1395
                    },
                    "origin": "51.4822656,-0.1933769",
                    "destination": "51.4994794,-0.1269979",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!

Restrições

Podem ser calculadas distâncias de acordo com certas restrições. As restrições são indicadas pelo uso do parâmetro avoid e um argumento para esse parâmetro indicando a restrição a ser evitada. As seguintes restrições são suportadas:
  • evitar=pedágios
  • evitar = rodovias
  • evitar=balsas
  • evitar = interno
* Nota: a adição de restrições não exclui rotas que incluam o recurso restrito; ela simplesmente direciona o resultado para rotas mais favoráveis.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com restrições:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.4822656,-0.1933769&destinations=51.4994794,-0.1269979&mode=driving&departure_time=now&avoid=ferries&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Westminster Abbey, London SW1P 3PA, UK"
    ],
    "origin_addresses": [
        "Chapel, London SW6 1BA, UK"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "7.6 km",
                        "value": 7567
                    },
                    "duration": {
                        "text": "22 mins",
                        "value": 1359
                    },
                    "duration_in_traffic": {
                        "text": "26 mins",
                        "value": 1568
                    },
                    "origin": "51.4822656,-0.1933769",
                    "destination": "51.4994794,-0.1269979",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!

Sistemas de unidades

Os resultados da Matriz de Distância contêm texto nos campos de distância para indicar a distância da rota calculada. O sistema da unidade a ser usado pode ser especificado:
  • units=metric (padrão) retorna distâncias em quilômetros e metros.
  • units=imperial retorna distâncias em milhas e pés.
Mostrar exemplo
Ocultar exemplo
Exemplo de solicitação com sistema de unidades:
OBTENHA:
https://api.distancematrix.ai/maps/api/distancematrix/json?origins=51.4822656,-0.1933769&destinations=51.4994794,-0.1269979&departure_time=now&units=imperial&key=<your_access_token>
Copiado!
Resposta
CORPO
{
    "destination_addresses": [
        "Westminster Abbey, London SW1P 3PA, UK"
    ],
    "origin_addresses": [
        "Chapel, London SW6 1BA, UK"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "4.7 mi",
                        "value": 7567
                    },
                    "duration": {
                        "text": "22 mins",
                        "value": 1359
                    },
                    "duration_in_traffic": {
                        "text": "26 mins",
                        "value": 1568
                    },
                    "origin": "51.4822656,-0.1933769",
                    "destination": "51.4994794,-0.1269979",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!
* Nota: esta configuração do sistema da unidade afeta somente o texto exibido nos campos de distância. Os campos de distância também contêm valores que são sempre expressos em metros.

Exemplo de resposta

A resposta contém uma matriz de objetos de linhas, cada linha contendo uma origem emparelhada com cada destino. Cada elemento do objeto na matriz contém as propriedades de uma única variante de rota. Para obter uma descrição detalhada dos elementos, consulte a seção Elementos de resposta da matriz de distância.
Resposta
CORPO
{
    "destination_addresses": [
        "Westminster Abbey, London SW1P 3PA, UK"
    ],
    "origin_addresses": [
        "Chapel, London SW6 1BA, UK"
    ],
    "rows": [
        {
            "elements": [
                {
                    "distance": {
                        "text": "7.6 km",
                        "value": 7567
                    },
                    "duration": {
                        "text": "22 mins",
                        "value": 1359
                    },
                    "origin": "51.4822656,-0.1933769",
                    "destination": "51.4994794,-0.1269979",
                    "status": "OK"
                }
            ]
        }
    ],
    "status": "OK"
}
Copiado!

Elementos de resposta da matriz de distância

As respostas da Matriz de Distância contêm os seguintes elementos raiz:
  • status contém metadados sobre a solicitação. Veja Códigos de status abaixo.
  • origin_addresses contêm uma matriz de endereços conforme retornados pela API de sua solicitação original. Eles são formatados pelo geocodificador e localizados de acordo com o parâmetro de idioma passado com a solicitação.
  • destination_addresses contêm uma matriz de endereços retornados pela API a partir de sua solicitação inicial. Assim como os endereços de origem, eles são localizados, se apropriado.
  • as linhas contêm uma matriz de elementos, que por sua vez contêm elementos de status, duração e distância.

Códigos de status

Os campos de status no objeto de resposta contêm o status da solicitação e podem conter informações úteis de depuração. A API Distance Matrix retorna um campo de status de nível superior com informações sobre a solicitação em geral, bem como um campo de status para cada campo de elemento com informações sobre esse emparelhamento específico de origem e destino.

Códigos de status de nível superior

  • OK indica que a resposta contém um resultado válido.
  • INVALID_REQUEST indica que a solicitação fornecida era inválida.
  • MAX_ELEMENTS_EXCEEDED indica que o produto de origem e destino excede o limite por consulta.
  • OVER_DAILY_LIMIT indica qualquer um dos seguintes:
    • A chave da API está ausente ou é inválida.
    • O faturamento não foi ativado em sua conta.
    • Um limite de uso autoimposto foi excedido.
    • O método de pagamento fornecido não é mais válido (por exemplo, um cartão de crédito expirou).
  • OVER_QUERY_LIMIT indica que o serviço recebeu muitas solicitações do seu aplicativo dentro do período permitido.
  • REQUEST_DENIED indica que o serviço negou o uso do serviço Distance Matrix pelo seu aplicativo.
  • UNKNOWN_ERROR indica que uma solicitação do Distance Matrix não pôde ser processada devido a um erro no servidor. A solicitação poderá ser bem-sucedida se você tentar novamente.

Códigos de status em nível de elemento

  • OK indica a resposta e contém um resultado válido.
  • NOT_FOUND indica que a origem e/ou o destino desse emparelhamento não puderam ser geocodificados.
  • ZERO_RESULTS indica que nenhuma rota foi encontrada entre a origem e o destino.
  • MAX_ROUTE_LENGTH_EXCEEDED indica que a rota solicitada é muito longa e não pode ser processada.
  • UNKNOWN_ERROR indica que uma solicitação do Distance Matrix não pôde ser processada devido a um erro no servidor. A solicitação poderá ser bem-sucedida se você tentar novamente.

Mensagens de erro

Quando o código de status de nível superior não é OK, pode haver um campo error_message adicional no objeto de resposta Distance Matrix. Esse campo contém informações mais detalhadas sobre os motivos por trás do código de status fornecido.

Linhas

Quando a API Distance Matrix retorna resultados, ela os coloca em uma matriz de linhas JSON. Mesmo que nenhum resultado seja retornado (como quando as origens e/ou destinos não existem), ele ainda retorna uma matriz vazia.

As linhas são ordenadas de acordo com os valores no parâmetro de origem da solicitação. Cada linha corresponde a uma origem e cada elemento dentro dessa linha corresponde a um emparelhamento da origem com um valor de destino.

Cada matriz de linhas contém uma ou mais entradas de elementos que, por sua vez, contêm as informações sobre um único emparelhamento origem-destino.

Elementos

As informações sobre cada emparelhamento origem-destino são retornadas em uma entrada de elemento. Um elemento contém os seguintes campos:
  • status: Consulte Códigos de status para obter uma lista de possíveis códigos de status.
  • duração: o tempo necessário para percorrer essa rota, expresso em segundos (o campo de valor) e como texto.
  • duration_in_traffic: o tempo necessário para percorrer essa rota, com base nas condições atuais e históricas do tráfego.
  • distância: A distância total dessa rota, expressa em metros (valor) e como texto. O valor textual usa o sistema de unidades especificado com o parâmetro de unidade da solicitação original ou a região de origem.
  • distance_in_traffic_model: A menor distância necessária para percorrer essa rota, com base nas condições atuais e históricas do tráfego.
PERGUNTAS FREQUENTES

Como usar a API de distância?

Usar uma API de distância como o Distancematrix.ai normalmente é um processo simples. Aqui estão as etapas básicas para usar a API:

  • Registre-se na plataforma e obtenha uma chave de API. A chave da API é um identificador exclusivo que permite acessar a API.
  • Escolha seu produto de API: A API Distancematrix.ai fornece vários métodos para diferentes tipos de cálculos de distância, como distância entre dois pontos, matriz de distância para várias origens e destinos e estimativas de tempo de viagem. Escolha a melhor maneira de usar a API que atenda às suas necessidades.
  • Defina seus parâmetros: Dependendo do produto escolhido, você precisará definir parâmetros como origens e destinos (na forma de endereços ou coordenadas de longa distância), modo de transporte (dirigir, caminhar etc.) e outras opções, como evitar pedágios ou rodovias.
  • Envie sua solicitação: depois de definir seus parâmetros, você pode enviar uma solicitação para a matriz de distância da API usando sua chave de API. A API processará sua solicitação e retornará os resultados da distância e os tempos de viagem no formato especificado em sua solicitação.
  • Armazene em cache e use os resultados: finalmente, você pode analisar os resultados retornados pela API e usá-los em seu aplicativo ou site. A API pode retornar resultados em JSON, que podem ser facilmente convertidos em vários formatos, incluindo XML e CSV.

As etapas específicas para usar a API Distancematrix.ai podem variar dependendo da sua linguagem de programação ou estrutura. No entanto, fornecemos documentação detalhada da API Distance Matrix e código de amostra para ajudar você a começar.

Qual é a diferença entre uma matriz de distância de API e outras APIs?

A matriz de distância da API, a API de distância do mapa e a API da matriz de direção são todos os tipos de APIs que fornecem dados relacionados à distância, mas têm algumas peculiaridades.
Uma matriz de distância da API foi projetada para calcular as distâncias entre várias origens e destinos. Ele fornece uma matriz de distâncias que pode ser usada para calcular o tempo de viagem ou otimizar rotas para entrega ou logística. Esse tipo de API é útil para empresas que precisam planejar e otimizar rotas de viagem ou operações logísticas.

Uma API de distância do mapa, por outro lado, fornece dados relacionados à distância para uma área geográfica específica, como a distância entre dois pontos em um mapa. Esse tipo de API é útil para aplicativos que precisam exibir dados relacionados à distância em um mapa, como um monitor de condicionamento físico ou um aplicativo de viagem.

Uma API de matriz de direção, como a API de direções do Google Maps, fornece direções passo a passo entre dois ou mais pontos. Inclui informações como a distância, o tempo estimado de viagem e a rota a ser seguida. Esse tipo de API é útil para aplicativos que exigem recursos de navegação ou roteamento, como um aplicativo de compartilhamento de caronas ou um dispositivo GPS.

Em resumo, embora a API de matriz de distância, a API de distância do mapa e a API da matriz de direção forneçam dados relacionados à distância, elas são otimizadas para diferentes casos de uso. Atualmente, a API Distance Matrix da Distancematrix.ai inclui produtos de matriz de distância e geocodificação. No momento, não fornecemos soluções de mapas ou direções. No entanto, você pode usar os dados em sua empresa para otimizar rotas de viagem ou operações logísticas. Esses dados são para aplicativos que precisam exibir dados relacionados à distância em um mapa e para aplicativos que exigem recursos de navegação ou roteamento.

Fácil integração com a API Distance Matrix
Iniciar
Como migrar para o DistanceMatrix
Nenhum pré-pagamento é necessário.
Comece de graça e ganhe instantaneamente
acesso a todos os arquivos Distancematrix.ai
produtos e características