Distance Matrix

Exemplo 1 – Calculando matriz de distâncias entre três pontos

Neste exemplo será calculado uma matriz de distâncias entre um ponto de origem e dois pontos de destino. Será possível aplicar parâmetros opcionais como evitar túneis e pontes e escolher o modo de cálculo para a rota mais rápida.

{
    "avoidanceTypes": [
        "TUNNELS",
        "BRIDGES"
    ],
    "calculationMode": "THE_FASTEST",
    "destinations": [
        {
            "latitude": -23.682211,
            "longitude": -46.546867,
            "siteId": "SantoAndre"
        },
        {
            "latitude": -23.561402303338195, 
            "longitude": -46.63862145421187,
            "siteId": "SP-Liberdade"
        }
    ],
    "origins": [
        {
            "latitude": -23.337132,
            "longitude": -46.835427,
            "siteId": "Cajamar"
        }
    ],
    "restrictionZones": [],
    "tripProfile": "MAPLINKBR"
}

Na resposta será retornado o array de objetos elements, onde cada objeto represta a relação de cada par de origem e destino. Neste caso de Cajamar para SantoAndre e Cajamar para SP-Liberdade.

Cada objeto em elements possuirá as seguintes informações:

  • origin – Identificador do ponto de origem;
  • destination – Identificador do ponto de destino;
  • distance – Distância total em metros;
  • nominalDuration – Duração total em segundos;
  • averageSpeed – Velocidade média do caminho entre a origem e destino em km/h.

A resposta completa pode ser conferida abaixo:

{
    "id": "6076163ab966b04b48d1017c",
    "clientId": "maplink",
    "elements": [
        {
            "origin": "Cajamar",
            "destination": "SantoAndre",
            "distance": 253569,
            "nominalDuration": 32617,
            "averageSpeed": 27.99     
        },
        {
            "origin": "Cajamar",
            "destination": "SP-Liberdade",
            "distance": 286385,
            "nominalDuration": 35963,
            "averageSpeed": 28.67            
        }
    ],
    "createdAt": 1618351678886
}