Migrar para a classe RouteMatrix

Desenvolvedores do Espaço Econômico Europeu (EEE)

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,));