Новая библиотека маршрутов Maps JavaScript API включает класс Route
, который заменяет устаревший Directions Service . На этой странице объясняются различия между устаревшим сервисом маршрутов и новым классом Route
, а также представлен фрагмент кода для сравнения.
Служба маршрутизации (устаревшая) и класс маршрута (бета-версия)
Параметры запроса
В следующей таблице сравниваются параметры запроса для устаревшей службы Directions и класса Route
.
Сравнение методов
В следующей таблице сравниваются основные методы устаревшей службы Directions и класса Route
.
Служба маршрутов (устаревшая) | Route (бета) |
---|---|
метод route() | метод computeRoutes() |
Метод DirectionsRenderer.setDirections() | Метод createPolylines() , метод createWaypointAdvancedMarkers() |
Сравнение кодов
В этом разделе сравниваются два похожих фрагмента кода, чтобы проиллюстрировать различия между устаревшим сервисом Directions и новым классом Route
. Фрагменты кода показывают код, необходимый для выполнения запроса маршрута в каждом API, а затем использование результата для рисования ломаной линии и маркеров на карте.
В устаревшей службе Directions объект DirectionsRenderer
используется для отображения полилиний и маркеров, представляющих результаты маршрута на карте. В библиотеке Routes объект DirectionsRenderer
был заменён методами createPolylines()
и createWaypointAdvancedMarkers()
. На этой странице объясняются различия между устаревшей службой Directions и новым классом Route
, а также приведён пример кода для сравнения.
Получить маршрут проезда
Служба маршрутов (устаревшая)
Следующий код получает маршруты проезда с помощью устаревшей службы Directions, а затем использует DirectionsRenderer
для рисования полилинии и маркеров на карте:
// Define a simple request. var request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING' }; // Call the Directions Service to get the directions. directionsService.route(request, function(result, status) { if (status == 'OK') { directionsRenderer.setDirections(result); // Add polyline and markers to the map. } });
Класс маршрута (бета)
Следующий код получает маршруты проезда с помощью нового класса Route, затем использует метод createPolylines
для рисования полилинии на карте и метод createWaypointAdvancedMarkers
для рисования маркеров на карте.
Новый класс Route
не отображает маркеры автоматически. Для отображения маркеров необходимо вызвать createWaypointAdvancedMarkers
.
// Define a simple request. const request = { origin: 'Mountain View, CA', destination: 'San Francisco, CA', travelMode: 'DRIVING', fields: ['path', 'legs'], // Request fields needed to draw polylines. }; // Call computeRoutes to get the directions. const {routes} = await Route.computeRoutes(request); // Use createPolylines to create a polyline for the route. mapPolylines = routes[0].createPolylines(); // Add polylines to the map mapPolylines.forEach((polyline) => polyline.setMap(map)); // Create markers to start and end points. const markers = await routes[0].createWaypointAdvancedMarkers(); // Add markers to the map markers.forEach((marker) => marker.setMap(map));