Migrar para a classe RouteMatrix

A classe RouteMatrix substitui o serviço Distance Matrix da API Maps JavaScript (legado). Esta página explica as diferenças entre o serviço Distance Matrix legado e a nova biblioteca JavaScript, além de fornecer alguns códigos para comparação.

API Distance Matrix (legada) x classe Route Matrix (Beta)

A tabela a seguir compara os parâmetros de solicitação da API Distance Matrix legada e da classe RouteMatrix.

Serviço Distance Matrix (legado) RouteMatrix (Beta)

Parâmetros obrigatórios

origins origins
destinations destinations

Parâmetros opcionais

travelMode travelMode
transitOptions transitPreference
arrivalTime arrivalTime
drivingOptions departureTime, trafficModel
unitSystem units
avoidHighways, avoidTolls RouteModifiers

Comparação de código

Esta seção compara dois trechos de código semelhantes para ilustrar as diferenças entre a API Distance Matrix legada 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 ver os resultados.

API Directions (legada)

O código a seguir faz uma solicitação de matriz de distâncias 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 (Beta)

O código a seguir faz uma solicitação de matriz de distância usando a nova classe RouteMatrix:

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