Переход на класс Route Matrix

Разработчики из Европейской экономической зоны (ЕЭЗ)

Класс RouteMatrix заменяет сервис "Матрица расстояний", Maps JavaScript API (устаревший). На этой странице объясняются различия между устаревшим сервисом Distance Matrix и новой библиотекой JavaScript, а также приводятся примеры кода для сравнения.

Сравнение Distance Matrix API (устаревшая версия) и класса Route Matrix

В таблице ниже сравниваются параметры запросов для устаревшего Distance Matrix API (Legacy) и класса RouteMatrix.

Сервис Distance Matrix, Maps JavaScript API (устаревший) RouteMatrix Обязательный?
origins origins Обязательно
destinations destinations Обязательно
travelMode travelMode Необязательно
transitOptions transitPreference Необязательно
arrivalTime arrivalTime Необязательно
drivingOptions departureTime, trafficModel Необязательно
unitSystem units Необязательно
avoidHighways, avoidTolls RouteModifiers Необязательно

Сравнение кода

В этом разделе сравниваются два похожих фрагмента кода, чтобы проиллюстрировать различия между Distance Matrix API (Legacy) и новым классом RouteMatrix. Фрагменты кода показывают, какой код требуется для каждого API, чтобы сделать запрос маршрута и посмотреть результаты.

Distance Matrix API (устаревший)

В следующем примере кода показано, как отправить запрос матрицы расстояний с помощью Distance Matrix API (Legacy).

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

Класс Route Matrix

Следующий код выполняет запрос матрицы расстояний с помощью нового класса 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,));