La nueva biblioteca de Routes de la API de Maps JavaScript incluye la clase Route
, que reemplaza al servicio Directions heredado. En esta página, se explican las diferencias entre el servicio de Directions heredado y la nueva clase Route
, y se proporciona código para compararlos.
Comparación entre el servicio Directions (heredado) y la clase Route (beta)
parámetros de solicitud
En la siguiente tabla, se comparan los parámetros de solicitud del servicio Directions heredado y la clase Route
.
Comparación de métodos
En la siguiente tabla, se comparan los métodos clave del servicio Directions heredado y la clase Route
.
Servicio Directions (heredado) | Route (beta) |
---|---|
Método route() |
Método computeRoutes() |
Método DirectionsRenderer.setDirections() |
Método createPolylines() ,
método createWaypointAdvancedMarkers()
|
Comparación de código
En esta sección, se comparan dos fragmentos de código similares para ilustrar las diferencias entre el servicio de Directions heredado y la nueva clase Route
. Los fragmentos de código muestran el código necesario en cada API respectiva para realizar una solicitud de direcciones y, luego, usar el resultado para dibujar una polilínea y marcadores en el mapa.
En el servicio de Directions heredado, el objeto DirectionsRenderer
se usa para mostrar polilíneas y marcadores que representan los resultados de las indicaciones en un mapa. En la biblioteca de Routes, el objeto DirectionsRenderer
se reemplazó por los métodos createPolylines()
y createWaypointAdvancedMarkers()
. En esta página, se explican las diferencias entre el Directions Service heredado y la nueva clase Route
, y se proporciona código para realizar comparaciones.
Cómo llegar en automóvil
Servicio Directions (heredado)
El siguiente código obtiene instrucciones para llegar en automóvil con el servicio Directions heredado y, luego, usa DirectionsRenderer
para dibujar una polilínea y marcadores en el mapa:
// 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. } });
Clase Route (beta)
El siguiente código obtiene indicaciones para llegar en automóvil con la nueva clase Route y, luego, usa el método createPolylines
para dibujar una polilínea en el mapa y el método createWaypointAdvancedMarkers
para dibujar marcadores en el mapa.
La nueva clase Route
no renderiza marcadores automáticamente. Debes llamar a createWaypointAdvancedMarkers
para renderizar marcadores.
// 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));