Exemplo 2 - Encontrar assistência de veículo mais próximo

Nesse exemplo, veremos um caso comum onde a Distance Matrix API pode ser aplicada.

No segmento de seguradoras de veículos é muito comum o uso do Distance Matrix API para reduzir o tempo de atendimento da assistência aos veículos.

Considerando que o veículo quebrado e os caminhões guinchos compartilham a localização da latitude/longitude, quando o veículo quebrado aciona a assistência, o sistema poderá utilizar a Distance Matrix API para decidir qual caminhão guincho chegará primeiro.

Neste exemplo temos como destino dois veículos quebrados e como origem cinco caminhões guincho:

{
    "calculationMode": "THE_FASTEST",
    "destinations": [
        {
            "latitude": -23.5654032,
            "longitude": -46.62117004,
            "siteId": "veiculo1-Cambuci"
        },
        {
            "latitude": -23.574136,
            "longitude": -46.655844,
            "siteId": "veiculo2-Jardins"
        }
    ],
    "origins": [
        {
            "latitude": -23.58664317,
            "longitude": -46.63833618,
            "siteId": "guincho1-VilaMariana"
        },
        {
            "latitude": -23.562412,
            "longitude": -46.638788,
            "siteId": "guincho2-Liberdade"
        },
        {
            "latitude": -23.55363650451996,
            "longitude": -46.620810158377516,
            "siteId": "guincho3-Mooca"
        },
        {
            "latitude": -23.561603,
            "longitude": -46.655840,
            "siteId": "guincho4-MASP"
        },
        {
            "latitude": -23.535016,
            "longitude": -46.735701,
            "siteId": "guincho5-CEAGESP"
        }
    ],
    "tripProfile": "MAPLINK"
}

A resposta trará as informações da distance e nominalDuration entre cada guincho e veículo. Assim será possível identificar qual será aquele que conseguirá realizar a assistência de forma rápida. 

Segue abaixo a resposta completa:

{
    "id": "60761bd2b966b04b48d1019c",
    "clientId": "0wfdGfgEOFpME1RcsrBj4U5yAAJjeqFG",
    "elements": [
        {
            "origin": "guincho1-VilaMariana",
            "destination": "veiculo1-Cambuci",
            "distance": 3569,
            "nominalDuration": 643,
            "averageSpeed": 19.98
        },
        {
            "origin": "guincho1-VilaMariana",
            "destination": "veiculo2-Jardins",
            "distance": 3711,
            "nominalDuration": 365,
            "averageSpeed": 36.6
        },
        {
            "origin": "guincho2-Liberdade",
            "destination": "veiculo1-Cambuci",
            "distance": 4209,
            "nominalDuration": 514,
            "averageSpeed": 29.48
        },
        {
            "origin": "guincho2-Liberdade",
            "destination": "veiculo2-Jardins",
            "distance": 3710,
            "nominalDuration": 336,
            "averageSpeed": 39.75
        },
        {
            "origin": "guincho3-Mooca",
            "destination": "veiculo1-Cambuci",
            "distance": 2787,
            "nominalDuration": 426,
            "averageSpeed": 23.55
        },
        {
            "origin": "guincho3-Mooca",
            "destination": "veiculo2-Jardins",
            "distance": 5265,
            "nominalDuration": 490,
            "averageSpeed": 38.68
        },
        {
            "origin": "guincho4-MASP",
            "destination": "veiculo1-Cambuci",
            "distance": 6842,
            "nominalDuration": 859,
            "averageSpeed": 28.67
        },
        {
            "origin": "guincho4-MASP",
            "destination": "veiculo2-Jardins",
            "distance": 2082,
            "nominalDuration": 305,
            "averageSpeed": 24.57
        },
        {
            "origin": "guincho5-CEAGESP",
            "destination": "veiculo1-Cambuci",
            "distance": 15608,
            "nominalDuration": 1588,
            "averageSpeed": 35.38
        },
        {
            "origin": "guincho5-CEAGESP",
            "destination": "veiculo2-Jardins",
            "distance": 11217,
            "nominalDuration": 1057,
            "averageSpeed": 38.2
        }
    ],
    "createdAt": 1618353108108
}