Класс 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,));