Migrate to the Route class

The new Routes Library, Maps JavaScript API includes the Route class, which replaces the legacy Directions Service . This page explains the differences between the legacy directions service and the new Route class, and provides some code for comparison.

Directions service (Legacy) versus Route class (Beta)

Request parameters

The following table compares the request parameters for the legacy Directions service and the Route class.

Methods comparison

The following table compares key methods for the legacy Directions service and the Route class.

Directions Service (Legacy) Route (Beta)
route() method computeRoutes() method
DirectionsRenderer.setDirections() method createPolylines() method , createWaypointAdvancedMarkers() method

Code comparison

This section compares two similar pieces of code to illustrate the differences between the legacy Directions service and the new Route class. The code snippets show the code required on each respective API to make a directions request, and then use the result to draw a polyline and markers on the map.

In the legacy Directions service, the DirectionsRenderer object is used to display polylines and markers to represent directions results on a map. In the Routes library, the DirectionsRenderer object has been replaced by the createPolylines() and createWaypointAdvancedMarkers() methods. This page explains the differences between the legacy Directions Service and the new Route class, and provides some code for comparison.

Get driving directions

Directions service (Legacy)

The following code gets driving directions using the legacy Directions service, and then uses the DirectionsRenderer to draw a polyline and markers on the map:

 // 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 class (Beta)

The following code gets driving directions using the new Route class, then uses the createPolylines method to draw a polyline on the map, and the createWaypointAdvancedMarkers method to draw markers on the map.

The new Route class does not automatically render markers. You must call createWaypointAdvancedMarkers to render markers.

 // 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 
 )); 
Create a Mobile Website
View Site in Mobile | Classic
Share by: