Navigation points

The navigation_points field within the Geocoding response contains a list of points that are useful for navigating to the place. Specifically, they should be used either as the starting or ending points when routing on a road network from or to the place. Each navigation point contains the following values:

  • location contains the latitude, longitude value of the navigation point. This location will always be very close to the road network and represents an ideal stopping or starting point for navigating to and from a place. The point is intentionally slightly offset from the road's centerline to clearly mark the side of the road where the place is located.
  • restricted_travel_modes is a list of travel modes that the navigation point is not accessible from:
    • "DRIVE" is the travel mode corresponding to driving directions.
    • "WALK" is the travel mode corresponding to walking directions.
  • road_name contains the name of the road the navigation point is offset from.

Navigation points are returned for most places with a precise location, such as street addresses, buildings, and establishments. Places that represent large areas, such as cities and regions, where a precise location can be ambiguous might not return any navigation points.

Migration notice

Starting April 17th, you must now supply the NAVIGATION_POINTS extra computations parameter in the request to receive navigation points. Clients can test this by confirming that the road_name field within some navigation points is returned and that the location field within each navigation point has the following four subfields (lat, lng, latitude, longitude).

Additionally, you must migrate to the location.lat and location.lng fields rather than the location.latitude and location.longitude fields. In a future release, requests that don't contain the NAVIGATION_POINTS extra computations parameter won't include any navigation points in the response and the location.latitude and location.longitude fields will no longer be returned.

Request details

You can obtain navigation points in the following kinds of requests:

For any of these requests, you supply this parameter: extra_computations=NAVIGATION_POINTS.

Example request

The following query uses place geocoding to obtain navigation points for a restaurant in Mountain View, California, United States:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJZ54APTS3j4ARBYZD956MHq8&extra_computations=NAVIGATION_POINTS&key=YOUR_API_KEY

Example response

The response from the query above shows an array of navigation points:

{
  "navigation_points": [
    {
      "location": {
        "lat": 37.3940894,
        "lng": -122.0788389,
      },
      "restricted_travel_modes": ["WALK"],
      "road_name": "Castro Street"
    },
    {
      "location": {
        "lat": 37.394273,
        "lng": -122.0793078,
      },
      "restricted_travel_modes": ["WALK"],
      "road_name": "Wild Cherry Lane"
    },
    {
      "location": {
        "lat": 37.3941202,
        "lng": -122.0789189,
      },
      "restricted_travel_modes": ["DRIVE"]
    }
  ]
}

Feedback

This is an experimental feature. We would appreciate feedback at [email protected].