Route class overview Stay organized with collections Save and categorize content based on your preferences.

Introduction
The Route class provides thecomputeRoutes
method for returning the ideal route between two locations. Provide directions with real-time traffic for transit, biking, driving, 2-wheel motorized vehicles, or walking between multiple locations.
Need Route Matrixes? If you are interested in a route matrix, seeRoute Matrix class overview.
Migrating? If you are migrating from the Directions Service (Legacy) to theRoute
class, seeMigrate to the Route class.
Why use the Route class?
With theRoute
class, with a wide range of route details you can route your vehicles or packages according to your preferences while optimizing for cost and quality.
What can you do with the Route class?
ThecomputeRoutes
method returns the ideal route between two locations. With the Routes library, you can do the following things:
- Get directions for different ways to travel:
- Modes of transportation: transit, driving, two-wheel vehicles, walking, or bicycling.
- A series of waypoints that you can optimize for the most efficient order in which to travel to them.
- Use multiple ways to specify origins, destinations, and waypoints:
- Text strings. For example: "Chicago, IL", "Darwin, NT, Australia", "1800 Amphitheatre Parkway, Mountain View, CA 94043", or "CWF6+FWX Mountain View, California"
- Place instances
- Latitude and longitude coordinates, optionally with vehicle heading
- Fine-tune your route options based on your needs and goals:
- Select fuel or energy-efficient routes for your vehicle's engine type: Diesel, Electric, Hybrid, Gas.
- Set fine-grained options for traffic calculation, letting you make quality versus latency trade off decisions.
- Set vehicle heading (direction of travel) and side-of-road information for waypoints to increase ETA accuracy.
- Specify pass-through versus terminal locations and safe stopover locations.
- Request toll information, along with route distance and ETA.
- Control your latency and quality by requesting only the data you need using a field mask, which helps you avoid unnecessary processing time and higher request billing rates.
Next steps
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-10-02 UTC.