A classe RouteMatrix substitui o serviço Matriz de Distância da API Maps JavaScript (legado).
Nesta página, explicamos as diferenças entre o serviço legado da matriz de distância e a nova biblioteca JavaScript, além de fornecer alguns códigos para comparação.
API Distance Matrix (legada) x classe Route Matrix
A tabela a seguir compara os parâmetros de solicitação da API Distance Matrix (legado) e da classe RouteMatrix.
| Serviço de Matriz de Distância, API Maps JavaScript (legado) | RouteMatrix |
Obrigatório ou opcional |
|---|---|---|
origins |
origins |
Obrigatório |
destinations |
destinations |
Obrigatório |
travelMode |
travelMode |
Opcional |
transitOptions |
transitPreference |
Opcional |
arrivalTime |
arrivalTime |
Opcional |
drivingOptions |
departureTime,
trafficModel |
Opcional |
unitSystem |
units |
Opcional |
avoidHighways,
avoidTolls |
RouteModifiers |
Opcional |
Comparação de código
Nesta seção, comparamos dois trechos de código semelhantes para ilustrar as diferenças entre a API Distance Matrix (legado) e a nova classe RouteMatrix. Os snippets de código mostram
o código necessário em cada API para fazer uma solicitação de rotas e conferir os resultados.
API Distance Matrix (legada)
O código a seguir faz uma solicitação de matriz de distância usando a API Distance Matrix (legada).
// Define the request. const request = { origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'], destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}], travelMode: 'DRIVING', drivingOptions: { departureTime: new Date(Date.now()), trafficModel: 'optimistic' } }; // Make the request. service.getDistanceMatrix(request).then((response) => { // Display the response. document.getElementById("response").textContent = JSON.stringify( response, null, 2, ); });
Classe Route Matrix
O código a seguir faz uma solicitação de matriz de distância usando a nova classe Route Matrix:
// Define the request. const request = { origins: [{lat: 55.93, lng: -3.118}, 'Greenwich, England'], destinations: ['Stockholm, Sweden', {lat: 50.087, lng: 14.421}], travelMode: 'DRIVING', departureTime: new Date(), trafficModel: 'optimistic' }; // Make the request. const response = await RouteMatrix.computeRouteMatrix(request); // Display the response. document.getElementById("response").setValue(JSON.stringify(response, null, 2,));