Get a route matrix on transit

Get a transit route matrix that uses the public transportation options available in the region. Transit options may include buses, subways, and trains, among others.

For additional details, see Get a route on transit.

Example transit route matrix

The following example computes a route matrix on transit, requesting the transit fare in addition to field masks typical for a route matrix:

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      }
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "TRANSIT"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition,travelAdvisory.transitFare' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

Transit route matrix response

Here is the response from the transit route matrix request:

[
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 8709,
        "duration": "2754s",
        "travelAdvisory": {
            "transitFare": {
                "currencyCode": "USD",
                "units": "2",
                "nanos": 500000000
            }
        },
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 530,
        "duration": "394s",
        "travelAdvisory": {
            "transitFare": {}
        },
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2934,
        "duration": "740s",
        "travelAdvisory": {
            "transitFare": {
                "currencyCode": "USD",
                "units": "2",
                "nanos": 500000000
            }
        },
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 9883,
        "duration": "3049s",
        "travelAdvisory": {
            "transitFare": {
                "currencyCode": "USD",
                "units": "5"
            }
        },
        "condition": "ROUTE_EXISTS"
    }
]