Get Started

The Elevation API provides elevation data for all locations on the surface of the earth, including depth locations on the ocean floor (which return negative values).

This service is also available as part of the client-side Maps JavaScript API, or for server-side use with the Java Client, Python Client, Go Client and Node.js Client for Google Maps Services.

Sample request and response

You access the Elevation API through an HTTP interface, with requests constructed as a URL string, using latitude/longitude coordinates to identify the locations or path vertices. Requests must include your API key.

The following example requests the elevation for Denver, Colorado, the "Mile High City", in JSON format:

cURL

curl -L -X GET 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY'

JavaScript

var axios = require('axios');

var config = {
  method: 'get',
  url: 'https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY',
  headers: { }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

Python

import requests

url = "https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Java

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
Request request = new Request.Builder()
  .url("https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY")
  .method("GET", null)
  .build();
Response response = client.newCall(request).execute();

Ruby

require "uri"
require "net/http"

url = URI("https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)

response = https.request(request)
puts response.read_body

Go

package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://maps.googleapis.com/maps/api/elevation/json?locations=39.7391536,-104.9847034&key=YOUR_API_KEY"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := ioutil.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}

You can test this by entering the URL into your web browser (be sure to replace YOUR_API_KEY with your actual API key). The response includes the elevation at that point, in meters, along with the resolution value (the maximum distance between data points from which the elevation was interpolated, in meters).

View the developer's guide for more information about building request URLs and available parameters and understanding the response.

Below is a sample response, in JSON:

{
  "results":
    [
      {
        "elevation": 1608.637939453125,
        "location": { "lat": 39.7391536, "lng": -104.9847034 },
        "resolution": 4.771975994110107,
      },
    ],
  "status": "OK",
}

OpenAPI specification

The OpenAPI specification is published for this API and available on GitHub.

openapi: 3.0.3
info:
  title: Google Maps Platform
  description: API Specification for Google Maps Platform
  version: 1.8.0
servers:
  - url: 'https://www.googleapis.com'
paths:
  /geolocation/v1/geolocate:
    post:
      servers:
        - url: 'https://www.googleapis.com'
      tags:
        - Geolocation API
      description: |-
        Geolocation API returns a location and accuracy radius based on information about cell towers and WiFi nodes that the mobile client can detect. This document describes the protocol used to send this data to the server and to return a response to the client.

        Communication is done over HTTPS using POST. Both request and response are formatted as JSON, and the content type of both is `application/json`.

        You must specify a key in your request, included as the value of a`key` parameter. A `key` is your application's  API key. This key identifies your application for purposes of quota management. Learn how to [get a key](https://developers.google.com/maps/documentation/geolocation/get-api-key).
      requestBody:
        description: The request body must be formatted as JSON.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GeolocationRequest'
            examples:
              WIFI:
                value:
                  considerIp: 'false'
                  wifiAccessPoints:
                    - macAddress: '84:d4:7e:09:a5:f1'
                      signalStrength: -43
                      signalToNoiseRatio: 0
                    - macAddress: '44:48:c1:a6:f3:d0'
                      signalStrength: -55
                      signalToNoiseRatio: 0
              Cell Towers:
                value:
                  cellTowers:
                    - cellId: 170402199
                      locationAreaCode: 35632
                      mobileCountryCode: 310
                      mobileNetworkCode: 410
                      age: 0
                      signalStrength: -60
                      timingAdvance: 15
              IP Only:
                value:
                  considerIp: 'true'
        required: false
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GeolocationResponse'
              examples:
                WIFI:
                  value:
                    location:
                      lat: 37.421925
                      lng: -122.0841293
                    accuracy: 30
                Cell Towers:
                  value:
                    location:
                      lat: 37.780187700000006
                      lng: -122.41665049999999
                    accuracy: 1479
                IP Only:
                  value:
                    location:
                      lat: 37.7802545
                      lng: -122.41590829999998
                    accuracy: 926
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Bad Request:
                  value:
                    error:
                      code: 400
                      message: 'Invalid value at ''cell_tower'' (type.googleapis.com/maps_api.CellTower), "foo"'
                      errors:
                        - message: 'Invalid value at ''cell_tower'' (type.googleapis.com/maps_api.CellTower), "foo"'
                          reason: invalid
                      status: INVALID_ARGUMENT
                Invalid Key:
                  value:
                    error:
                      code: 400
                      message: API key not valid. Please pass a valid API key.
                      errors:
                        - message: API key not valid. Please pass a valid API key.
                          domain: global
                          reason: badRequest
                      status: INVALID_ARGUMENT
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Invalid:
                  value:
                    error:
                      code: 404
                      message: Not Found
                      errors:
                        - message: Not Found
                          domain: geolocation
                          reason: notFound
  /maps/api/elevation/json:
    get:
      servers:
        - url: 'https://maps.googleapis.com'
      tags:
        - Elevation API
      description: |
        The Elevation API provides a simple interface to query locations on the earth for elevation data. Additionally, you may request sampled elevation data along paths, allowing you to calculate elevation changes along routes. With the Elevation API, you can develop hiking and biking applications, positioning applications, or low resolution surveying applications.

        Elevation data is available for all locations on the surface of the earth, including depth locations on the ocean floor (which return negative values). In those cases where Google does not possess exact elevation measurements at the precise location you request, the service interpolates and returns an averaged value using the four nearest locations. Elevation values are expressed relative to local mean sea level (LMSL).

        Requests to the Elevation API utilize different parameters based on whether the request is for discrete locations or for an ordered path. For discrete locations, requests for elevation return data on the specific locations passed in the request; for paths, elevation requests are instead sampled along the given path.
      parameters:
        - name: locations
          in: query
          style: pipeDelimited
          explode: false
          description: |
            Positional requests are indicated through use of the locations parameter, indicating elevation requests for the specific locations passed as latitude/longitude values.

            The locations parameter may take the following arguments:

            - A single coordinate: `locations=40.714728,-73.998672`
            - An array of coordinates separated using the pipe ('|') character: `locations=40.714728,-73.998672|-34.397,150.644`
            - A set of encoded coordinates using the [Encoded Polyline Algorithm](https://developers.google.com/maps/documentation/utilities/polylinealgorithm): `locations=enc:gfo}EtohhU`

            Latitude and longitude coordinate strings are defined using numerals within a comma-separated text string. For example, "40.714728,-73.998672" is a valid locations value. Latitude and longitude values must correspond to a valid location on the face of the earth. Latitudes can take any value between -90 and 90 while longitude values can take any value between -180 and 180. If you specify an invalid latitude or longitude value, your request will be rejected as a bad request.

            You may pass any number of multiple coordinates within an array or encoded polyline, while still constructing a valid URL. Note that when passing multiple coordinates, the accuracy of any returned data may be of lower resolution than when requesting data for a single coordinate.
          example:
            - '35,-100'
            - '40,-110'
          schema:
            $ref: '#/components/schemas/LatLngArrayString'
        - name: path
          in: query
          style: pipeDelimited
          explode: false
          description: 'An array of comma separated {latitude,longitude} strings.'
          example:
            - '35,-110'
            - '33,-110'
            - '31,-110'
          schema:
            $ref: '#/components/schemas/LatLngArrayString'
        - name: samples
          in: query
          description: Required if path parameter is set.
          schema:
            type: number
          example: 10
      responses:
        '200':
          description: Elevation Response
          content:
            application/json:
              examples:
                elevation_locations:
                  value:
                    results:
                      - elevation: 1608.637939453125
                        location:
                          lat: 39.7391536
                          lng: -104.9847034
                        resolution: 4.771975994110107
                    status: OK
                elevation_locations_multiple:
                  value:
                    results:
                      - elevation: 1608.637939453125
                        location:
                          lat: 39.7391536
                          lng: -104.9847034
                        resolution: 4.771975994110107
                      - elevation: -52.79492568969727
                        location:
                          lat: 36.455556
                          lng: -116.866667
                        resolution: 19.08790397644043
                    status: OK
                elevation_path:
                  value:
                    results:
                      - elevation: 4411.94189453125
                        location:
                          lat: 36.578581
                          lng: -118.291994
                        resolution: 19.08790397644043
                      - elevation: 1372.8359375
                        location:
                          lat: 36.41150289067028
                          lng: -117.5602607523847
                        resolution: 9.543951988220215
                      - elevation: -84.51690673828125
                        location:
                          lat: 36.23998
                          lng: -116.83171
                        resolution: 9.543951988220215
                    status: OK
                elevation_path_missing_samples:
                  value:
                    results: []
                    status: INVALID_REQUEST
                elevation_invalid_key:
                  value:
                    error_message: The provided API key is invalid.
                    results: []
                    status: REQUEST_DENIED
              schema:
                type: object
                required:
                  - status
                  - results
                properties:
                  error_message:
                    type: string
                    example: Invalid request. Invalid 'locations' parameter.
                  status:
                    $ref: '#/components/schemas/ElevationStatus'
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        elevation:
                          type: number
                        resolution:
                          type: number
                        location:
                          $ref: '#/components/schemas/LatLngLiteral'
  /maps/api/geocode/json:
    get:
      servers:
        - url: 'https://maps.googleapis.com'
      tags:
        - Geocoding API
      description: |-
        The Geocoding API is a service that provides geocoding and reverse geocoding of addresses.

        **Geocoding** is the process of converting addresses (like a street address) into geographic coordinates (like latitude and longitude), which you can use to place markers on a map, or position the map.

        **Reverse geocoding** is the process of converting geographic coordinates into a human-readable address.

        You can also use the Geocoding API to find the address for a given place ID.

        To see countries currently supported by the Google Maps Platform Geocoding API, please consult the [Google Maps coverage data](https://developers.google.com/maps/coverage). The accuracy of geocoded locations may vary per country, so you should consider using the returned location_type field to determine if a good enough match has been found for the purposes of your application. Please note that the availability of geocoding data depends on our contracts with data providers, so it is subject to change.
      parameters:
        - $ref: '#/components/parameters/language'
        - $ref: '#/components/parameters/region'
        - name: address
          example: '1600 Amphitheatre+Parkway, Mountain View, CA'
          description: |-
            The street address or plus code that you want to geocode. Specify addresses in accordance with the format used by the national postal service of the country concerned. Additional address elements such as business names and unit, suite or floor numbers should be avoided. Street address elements should be delimited by spaces (shown here as url-escaped to `%20`):

            `address=24%20Sussex%20Drive%20Ottawa%20ON`

            Format plus codes as shown here (plus signs are url-escaped to `%2B` and spaces are url-escaped to `%20`):
            - global code is a 4 character area code and 6 character or longer local code (`849VCWC8+R9` is `849VCWC8%2BR9`).
            - compound code is a 6 character or longer local code with an explicit location (`CWC8+R9 Mountain View, CA, USA` is `CWC8%2BR9%20Mountain%20View%20CA%20USA`).
          in: query
          schema:
            type: string
        - name: components
          style: pipeDelimited
          explode: false
          example:
            - 'street_number:1600'
            - 'route:Amphitheatre+Parkway'
            - 'locality:Mountain+View'
            - 'administrative_area_level_1:CA'
            - 'country:US'
          description: |-
            A components filter with elements separated by a pipe (|). The components filter is also accepted as an optional parameter if an address is provided. Each element in the components filter consists of a component:value pair, and fully restricts the results from the geocoder.

            https://developers.google.com/maps/documentation/geocoding/overview#component-filtering
          in: query
          schema:
            items:
              type: string
            type: array
        - name: latlng
          example: '40,-110'
          description: 'The street address that you want to geocode, in the format used by the national postal service of the country concerned. Additional address elements such as business names and unit, suite or floor numbers should be avoided.'
          in: query
          schema:
            type: string
        - name: bounds
          description: |-
            The bounding box of the viewport within which to bias geocode results more prominently. This parameter will only influence, not fully restrict, results from the geocoder.  - name: locations
            in: query
          example:
            - '35,-100'
            - '40,-110'
          schema:
            $ref: '#/components/schemas/LatLngArrayString'
          in: query
      responses:
        '200':
          description: Gecoding Response
          content:
            application/json:
              examples:
                components_filtering_response:
                  value:
                    results:
                      - address_components:
                          - long_name: High Street
                            short_name: High St
                            types:
                              - route
                          - long_name: Hastings
                            short_name: Hastings
                            types:
                              - postal_town
                          - long_name: East Sussex
                            short_name: East Sussex
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: England
                            short_name: England
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United Kingdom
                            short_name: GB
                            types:
                              - country
                              - political
                          - long_name: TN34
                            short_name: TN34
                            types:
                              - postal_code
                              - postal_code_prefix
                        formatted_address: 'High St, Hastings TN34, UK'
                        geometry:
                          bounds:
                            northeast:
                              lat: 50.86038139999999
                              lng: 0.596206
                            southwest:
                              lat: 50.8558471
                              lng: 0.5904904
                          location:
                            lat: 50.8584228
                            lng: 0.5926005999999999
                          location_type: GEOMETRIC_CENTER
                          viewport:
                            northeast:
                              lat: 50.86038139999999
                              lng: 0.596206
                            southwest:
                              lat: 50.8558471
                              lng: 0.5904904
                        place_id: ChIJ-Ws929sa30cRKgsMNVkPyws
                        types:
                          - route
                    status: OK
                components_response:
                  value:
                    results:
                      - address_components:
                          - long_name: Santa Cruz de Tenerife
                            short_name: Santa Cruz de Tenerife
                            types:
                              - locality
                              - political
                          - long_name: Santa Cruz de Tenerife
                            short_name: TF
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: Canary Islands
                            short_name: CN
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: Spain
                            short_name: ES
                            types:
                              - country
                              - political
                        formatted_address: 'Santa Cruz de Tenerife, Spain'
                        geometry:
                          bounds:
                            northeast:
                              lat: 28.487616
                              lng: -16.2356646
                            southwest:
                              lat: 28.4280248
                              lng: -16.3370045
                          location:
                            lat: 28.4636296
                            lng: -16.2518467
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 28.487616
                              lng: -16.2356646
                            southwest:
                              lat: 28.4280248
                              lng: -16.3370045
                        place_id: ChIJcUElzOzMQQwRLuV30nMUEUM
                        types:
                          - locality
                          - political
                    status: OK
                components_zero_results_fixed_response:
                  value:
                    results:
                      - address_components:
                          - long_name: Helsinki
                            short_name: HKI
                            types:
                              - locality
                              - political
                          - long_name: Finland
                            short_name: FI
                            types:
                              - country
                              - political
                        formatted_address: 'Helsinki, Finland'
                        geometry:
                          bounds:
                            northeast:
                              lat: 60.2978389
                              lng: 25.2544849
                            southwest:
                              lat: 59.9224887
                              lng: 24.7828758
                          location:
                            lat: 60.16985569999999
                            lng: 24.9383791
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 60.2978389
                              lng: 25.2544849
                            southwest:
                              lat: 59.9224887
                              lng: 24.7828758
                        place_id: ChIJkQYhlscLkkYRY_fiO4S9Ts0
                        types:
                          - locality
                          - political
                    status: OK
                components_zero_results_response:
                  value:
                    results: []
                    status: ZERO_RESULTS
                invalid_place:
                  value:
                    error_message: Invalid request. Invalid 'place_id' parameter.
                    results: []
                    status: INVALID_REQUEST
                invalid_request:
                  value:
                    error_message: 'Invalid request. Missing the ''address'', ''components'', ''latlng'' or ''place_id'' parameter.'
                    results: []
                    status: INVALID_REQUEST
                place_id_response:
                  value:
                    results:
                      - address_components:
                          - long_name: '277'
                            short_name: '277'
                            types:
                              - street_number
                          - long_name: Bedford Avenue
                            short_name: Bedford Ave
                            types:
                              - route
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                        formatted_address: '277 Bedford Ave, Brooklyn, NY 11211, USA'
                        geometry:
                          location:
                            lat: 40.7142205
                            lng: -73.9612903
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 40.7155988302915
                              lng: -73.9600127697085
                            southwest:
                              lat: 40.71290086970851
                              lng: -73.9627107302915
                        place_id: ChIJd8BlQ2BZwokRAFUEcm_qrcA
                        plus_code:
                          compound_code: 'P27Q+MF Brooklyn, NY'
                          global_code: 87G8P27Q+MF
                        types:
                          - street_address
                    status: OK
                response:
                  value:
                    results:
                      - address_components:
                          - long_name: '1600'
                            short_name: '1600'
                            types:
                              - street_number
                          - long_name: Amphitheatre Parkway
                            short_name: Amphitheatre Pkwy
                            types:
                              - route
                          - long_name: Mountain View
                            short_name: Mountain View
                            types:
                              - locality
                              - political
                          - long_name: Santa Clara County
                            short_name: Santa Clara County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: California
                            short_name: CA
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '94043'
                            short_name: '94043'
                            types:
                              - postal_code
                        formatted_address: '1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA'
                        geometry:
                          location:
                            lat: 37.4222934
                            lng: -122.0841409
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 37.4236423802915
                              lng: -122.0827919197085
                            southwest:
                              lat: 37.4209444197085
                              lng: -122.0854898802915
                        place_id: ChIJVYBZP-Oxj4ARls-qJ_G3tgM
                        plus_code:
                          compound_code: 'CWC8+W8 Mountain View, CA, USA'
                          global_code: 849VCWC8+W8
                        types:
                          - street_address
                      - address_components:
                          - long_name: '1600'
                            short_name: '1600'
                            types:
                              - street_number
                          - long_name: Amphitheatre Parkway
                            short_name: Amphitheatre Parkway
                            types:
                              - route
                          - long_name: Monta Loma
                            short_name: Monta Loma
                            types:
                              - neighborhood
                              - political
                          - long_name: Mountain View
                            short_name: Mountain View
                            types:
                              - locality
                              - political
                          - long_name: Santa Clara County
                            short_name: Santa Clara County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: California
                            short_name: CA
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '94043'
                            short_name: '94043'
                            types:
                              - postal_code
                        formatted_address: '1600 Amphitheatre Parkway, Mountain View, CA 94043, USA'
                        geometry:
                          location:
                            lat: 37.4131208
                            lng: -122.1039424
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 37.4144697802915
                              lng: -122.1025934197085
                            southwest:
                              lat: 37.4117718197085
                              lng: -122.1052913802915
                        place_id: ChIJUV89TiG7j4ARWiEl0F5eP-o
                        plus_code:
                          compound_code: 'CV7W+6C Mountain View, CA, USA'
                          global_code: 849VCV7W+6C
                        types:
                          - street_address
                    status: OK
                reverse_filtering_response:
                  value:
                    plus_code:
                      compound_code: 'P27Q+MC New York, NY, USA'
                      global_code: 87G8P27Q+MC
                    results:
                      - address_components:
                          - long_name: '277'
                            short_name: '277'
                            types:
                              - street_number
                          - long_name: Bedford Avenue
                            short_name: Bedford Ave
                            types:
                              - route
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                        formatted_address: '277 Bedford Ave, Brooklyn, NY 11211, USA'
                        geometry:
                          location:
                            lat: 40.7142205
                            lng: -73.9612903
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 40.71556948029149
                              lng: -73.95994131970849
                            southwest:
                              lat: 40.7128715197085
                              lng: -73.9626392802915
                        place_id: ChIJd8BlQ2BZwokRAFUEcm_qrcA
                        plus_code:
                          compound_code: 'P27Q+MF Brooklyn, NY, USA'
                          global_code: 87G8P27Q+MF
                        types:
                          - street_address
                    status: OK
                reverse_response:
                  value:
                    plus_code:
                      compound_code: 'P27Q+MC New York, NY, USA'
                      global_code: 87G8P27Q+MC
                    results:
                      - address_components:
                          - long_name: '277'
                            short_name: '277'
                            types:
                              - street_number
                          - long_name: Bedford Avenue
                            short_name: Bedford Ave
                            types:
                              - route
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                        formatted_address: '277 Bedford Ave, Brooklyn, NY 11211, USA'
                        geometry:
                          location:
                            lat: 40.7142205
                            lng: -73.9612903
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 40.71556948029149
                              lng: -73.95994131970849
                            southwest:
                              lat: 40.7128715197085
                              lng: -73.9626392802915
                        place_id: ChIJd8BlQ2BZwokRAFUEcm_qrcA
                        plus_code:
                          compound_code: 'P27Q+MF Brooklyn, NY, USA'
                          global_code: 87G8P27Q+MF
                        types:
                          - street_address
                      - address_components:
                          - long_name: '279'
                            short_name: '279'
                            types:
                              - street_number
                          - long_name: Bedford Avenue
                            short_name: Bedford Ave
                            types:
                              - route
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                          - long_name: '4203'
                            short_name: '4203'
                            types:
                              - postal_code_suffix
                        formatted_address: '279 Bedford Ave, Brooklyn, NY 11211, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.7142628
                              lng: -73.9612131
                            southwest:
                              lat: 40.7141534
                              lng: -73.9613792
                          location:
                            lat: 40.7142015
                            lng: -73.96130769999999
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 40.7155570802915
                              lng: -73.95994716970849
                            southwest:
                              lat: 40.7128591197085
                              lng: -73.96264513029149
                        place_id: ChIJRYYERGBZwokRAM4n1GlcYX4
                        types:
                          - premise
                      - address_components:
                          - long_name: '277'
                            short_name: '277'
                            types:
                              - street_number
                          - long_name: Bedford Avenue
                            short_name: Bedford Ave
                            types:
                              - route
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                        formatted_address: '277 Bedford Ave, Brooklyn, NY 11211, USA'
                        geometry:
                          location:
                            lat: 40.7142205
                            lng: -73.9612903
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 40.71556948029149
                              lng: -73.95994131970849
                            southwest:
                              lat: 40.7128715197085
                              lng: -73.9626392802915
                        place_id: ChIJF0hlQ2BZwokRsrY2RAlFbAE
                        plus_code:
                          compound_code: 'P27Q+MF Brooklyn, NY, USA'
                          global_code: 87G8P27Q+MF
                        types:
                          - establishment
                          - point_of_interest
                      - address_components:
                          - long_name: 291-275
                            short_name: 291-275
                            types:
                              - street_number
                          - long_name: Bedford Avenue
                            short_name: Bedford Ave
                            types:
                              - route
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                        formatted_address: '291-275 Bedford Ave, Brooklyn, NY 11211, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.7145065
                              lng: -73.9612923
                            southwest:
                              lat: 40.7139055
                              lng: -73.96168349999999
                          location:
                            lat: 40.7142045
                            lng: -73.9614845
                          location_type: GEOMETRIC_CENTER
                          viewport:
                            northeast:
                              lat: 40.7155549802915
                              lng: -73.96013891970848
                            southwest:
                              lat: 40.7128570197085
                              lng: -73.96283688029149
                        place_id: ChIJ8ThWRGBZwokR3E1zUisk3LU
                        types:
                          - route
                      - address_components:
                          - long_name: South Williamsburg
                            short_name: South Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'South Williamsburg, Brooklyn, NY, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.7167119
                              lng: -73.9420904
                            southwest:
                              lat: 40.6984866
                              lng: -73.9699432
                          location:
                            lat: 40.7043921
                            lng: -73.9565551
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 40.7167119
                              lng: -73.9420904
                            southwest:
                              lat: 40.6984866
                              lng: -73.9699432
                        place_id: ChIJR3_ODdlbwokRYtN19kNtcuk
                        types:
                          - neighborhood
                          - political
                      - address_components:
                          - long_name: '11211'
                            short_name: '11211'
                            types:
                              - postal_code
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: New York
                            short_name: New York
                            types:
                              - locality
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Brooklyn, NY 11211, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.7280089
                              lng: -73.9207299
                            southwest:
                              lat: 40.7008331
                              lng: -73.9644697
                          location:
                            lat: 40.7093358
                            lng: -73.9565551
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 40.7280089
                              lng: -73.9207299
                            southwest:
                              lat: 40.7008331
                              lng: -73.9644697
                        place_id: ChIJvbEjlVdZwokR4KapM3WCFRw
                        types:
                          - postal_code
                      - address_components:
                          - long_name: Williamsburg
                            short_name: Williamsburg
                            types:
                              - neighborhood
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Williamsburg, Brooklyn, NY, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.7251773
                              lng: -73.936498
                            southwest:
                              lat: 40.6979329
                              lng: -73.96984499999999
                          location:
                            lat: 40.7081156
                            lng: -73.9570696
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 40.7251773
                              lng: -73.936498
                            southwest:
                              lat: 40.6979329
                              lng: -73.96984499999999
                        place_id: ChIJQSrBBv1bwokRbNfFHCnyeYI
                        types:
                          - neighborhood
                          - political
                      - address_components:
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Brooklyn, NY, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.739446
                              lng: -73.8333651
                            southwest:
                              lat: 40.551042
                              lng: -74.05663
                          location:
                            lat: 40.6781784
                            lng: -73.9441579
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 40.739446
                              lng: -73.8333651
                            southwest:
                              lat: 40.551042
                              lng: -74.05663
                        place_id: ChIJCSF8lBZEwokRhngABHRcdoI
                        types:
                          - political
                          - sublocality
                          - sublocality_level_1
                      - address_components:
                          - long_name: Kings County
                            short_name: Kings County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: Brooklyn
                            short_name: Brooklyn
                            types:
                              - political
                              - sublocality
                              - sublocality_level_1
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Kings County, Brooklyn, NY, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.739446
                              lng: -73.8333651
                            southwest:
                              lat: 40.551042
                              lng: -74.05663
                          location:
                            lat: 40.6528762
                            lng: -73.95949399999999
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 40.739446
                              lng: -73.8333651
                            southwest:
                              lat: 40.551042
                              lng: -74.05663
                        place_id: ChIJOwE7_GTtwokRs75rhW4_I6M
                        types:
                          - administrative_area_level_2
                          - political
                      - address_components:
                          - long_name: New York
                            short_name: New York
                            types:
                              - locality
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'New York, NY, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.9175771
                              lng: -73.70027209999999
                            southwest:
                              lat: 40.4773991
                              lng: -74.25908989999999
                          location:
                            lat: 40.7127753
                            lng: -74.0059728
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 40.9175771
                              lng: -73.70027209999999
                            southwest:
                              lat: 40.4773991
                              lng: -74.25908989999999
                        place_id: ChIJOwg_06VPwokRYv534QaPC8g
                        types:
                          - locality
                          - political
                      - address_components:
                          - long_name: Long Island
                            short_name: Long Island
                            types:
                              - establishment
                              - natural_feature
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Long Island, New York, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 41.1612401
                              lng: -71.85620109999999
                            southwest:
                              lat: 40.5429789
                              lng: -74.0419497
                          location:
                            lat: 40.789142
                            lng: -73.13496099999999
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 41.1612401
                              lng: -71.85620109999999
                            southwest:
                              lat: 40.5429789
                              lng: -74.0419497
                        place_id: ChIJy6Xu4VRE6IkRGA2UhmH59x0
                        types:
                          - establishment
                          - natural_feature
                      - address_components:
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'New York, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 45.015861
                              lng: -71.777491
                            southwest:
                              lat: 40.4773991
                              lng: -79.7625901
                          location:
                            lat: 43.2994285
                            lng: -74.21793260000001
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 45.015861
                              lng: -71.777491
                            southwest:
                              lat: 40.4773991
                              lng: -79.7625901
                        place_id: ChIJqaUj8fBLzEwRZ5UY3sHGz90
                        types:
                          - administrative_area_level_1
                          - political
                      - address_components:
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: United States
                        geometry:
                          bounds:
                            northeast:
                              lat: 71.5388001
                              lng: -66.885417
                            southwest:
                              lat: 18.7763
                              lng: 170.5957
                          location:
                            lat: 37.09024
                            lng: -95.712891
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 71.5388001
                              lng: -66.885417
                            southwest:
                              lat: 18.7763
                              lng: 170.5957
                        place_id: ChIJCzYy5IS16lQRQrfeQ5K5Oxw
                        types:
                          - country
                          - political
                      - address_components:
                          - long_name: P27Q+MC
                            short_name: P27Q+MC
                            types:
                              - plus_code
                          - long_name: New York
                            short_name: New York
                            types:
                              - locality
                              - political
                          - long_name: New York
                            short_name: NY
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'P27Q+MC New York, NY, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 40.71425
                              lng: -73.96137499999999
                            southwest:
                              lat: 40.714125
                              lng: -73.9615
                          location:
                            lat: 40.714224
                            lng: -73.961452
                          location_type: ROOFTOP
                          viewport:
                            northeast:
                              lat: 40.71553648029149
                              lng: -73.96008851970849
                            southwest:
                              lat: 40.71283851970849
                              lng: -73.96278648029151
                        place_id: GhIJWAIpsWtbREARHyv4bYh9UsA
                        plus_code:
                          compound_code: 'P27Q+MC New York, NY, USA'
                          global_code: 87G8P27Q+MC
                        types:
                          - plus_code
                    status: OK
                toledo_region_es_response:
                  value:
                    results:
                      - address_components:
                          - long_name: Toledo
                            short_name: Toledo
                            types:
                              - locality
                              - political
                          - long_name: Toledo
                            short_name: TO
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: Castile-La Mancha
                            short_name: CM
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: Spain
                            short_name: ES
                            types:
                              - country
                              - political
                        formatted_address: 'Toledo, Spain'
                        geometry:
                          bounds:
                            northeast:
                              lat: 39.88605099999999
                              lng: -3.9192423
                            southwest:
                              lat: 39.8383676
                              lng: -4.0796176
                          location:
                            lat: 39.8628316
                            lng: -4.027323099999999
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 39.88605099999999
                              lng: -3.9192423
                            southwest:
                              lat: 39.8383676
                              lng: -4.0796176
                        place_id: ChIJ8f21C60Lag0R_q11auhbf8Y
                        types:
                          - locality
                          - political
                    status: OK
                toledo_response:
                  value:
                    results:
                      - address_components:
                          - long_name: Toledo
                            short_name: Toledo
                            types:
                              - locality
                              - political
                          - long_name: Lucas County
                            short_name: Lucas County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: Ohio
                            short_name: OH
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Toledo, OH, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 41.732844
                              lng: -83.454229
                            southwest:
                              lat: 41.580266
                              lng: -83.6942832
                          location:
                            lat: 41.6528052
                            lng: -83.5378674
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 41.732844
                              lng: -83.454229
                            southwest:
                              lat: 41.580266
                              lng: -83.6942832
                        place_id: ChIJeU4e_C2HO4gRRcM6RZ_IPHw
                        types:
                          - locality
                          - political
                    status: OK
                winnetka_bounds_response:
                  value:
                    results:
                      - address_components:
                          - long_name: Winnetka
                            short_name: Winnetka
                            types:
                              - neighborhood
                              - political
                          - long_name: Los Angeles
                            short_name: Los Angeles
                            types:
                              - locality
                              - political
                          - long_name: Los Angeles County
                            short_name: Los Angeles County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: California
                            short_name: CA
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Winnetka, Los Angeles, CA, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 34.2355209
                              lng: -118.5534191
                            southwest:
                              lat: 34.1854649
                              lng: -118.588556
                          location:
                            lat: 34.2048586
                            lng: -118.5739621
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 34.2355209
                              lng: -118.5534191
                            southwest:
                              lat: 34.1854649
                              lng: -118.588556
                        place_id: ChIJ0fd4S_KbwoAR2hRDrsr3HmQ
                        types:
                          - neighborhood
                          - political
                    status: OK
                winnetka_response:
                  value:
                    results:
                      - address_components:
                          - long_name: Winnetka
                            short_name: Winnetka
                            types:
                              - locality
                              - political
                          - long_name: New Trier Township
                            short_name: New Trier Township
                            types:
                              - administrative_area_level_3
                              - political
                          - long_name: Cook County
                            short_name: Cook County
                            types:
                              - administrative_area_level_2
                              - political
                          - long_name: Illinois
                            short_name: IL
                            types:
                              - administrative_area_level_1
                              - political
                          - long_name: United States
                            short_name: US
                            types:
                              - country
                              - political
                        formatted_address: 'Winnetka, IL, USA'
                        geometry:
                          bounds:
                            northeast:
                              lat: 42.1282269
                              lng: -87.71080979999999
                            southwest:
                              lat: 42.0886089
                              lng: -87.7708629
                          location:
                            lat: 42.10808340000001
                            lng: -87.735895
                          location_type: APPROXIMATE
                          viewport:
                            northeast:
                              lat: 42.1282269
                              lng: -87.71080979999999
                            southwest:
                              lat: 42.0886089
                              lng: -87.7708629
                        place_id: ChIJW8Va5TnED4gRY91Ng47qy3Q
                        types:
                          - locality
                          - political
                    status: OK
                zero_results:
                  value:
                    results: []
                    status: ZERO_RESULTS
              schema:
                $ref: '#/components/schemas/GeocodingResponse'
  /maps/api/timezone/json:
    get:
      servers:
        - url: 'https://maps.googleapis.com'
      tags:
        - Time Zone API
      description: |
        The Time Zone API provides a simple interface to request the time zone for locations on the surface of the earth, as well as the time offset from UTC for each of those locations. You request the time zone information for a specific latitude/longitude pair and date. The API returns the name of that time zone, the time offset from UTC, and the daylight savings offset.
      parameters:
        - $ref: '#/components/parameters/language'
        - name: location
          description: |
            A comma-separated latitude,longitude tuple, `location=39.6034810,-119.6822510`, representing the location to look up.
          schema:
            type: string
          required: true
          in: query
          example: '39.6034810,-119.6822510'
        - name: timestamp
          in: query
          description: |
            The desired time as seconds since midnight, January 1, 1970 UTC. The Time Zone API uses the `timestamp` to determine whether or not Daylight Savings should be applied, based on the time zone of the `location`. 

            Note that the API does not take historical time zones into account. That is, if you specify a past timestamp, the API does not take into account the possibility that the location was previously in a different time zone.
          schema:
            type: number
          required: true
          example: 1331161200
      responses:
        '200':
          description: Time Zone Response
          content:
            application/json:
              examples:
                timezone:
                  value:
                    dstOffset: 0
                    rawOffset: -28800
                    status: OK
                    timeZoneId: America/Los_Angeles
                    timeZoneName: Pacific Standard Time
                timezone_dstoffset:
                  value:
                    dstOffset: 3600
                    rawOffset: -28800
                    status: OK
                    timeZoneId: America/Los_Angeles
                    timeZoneName: Pacific Daylight Time
                timezone_invalid:
                  value:
                    status: INVALID_REQUEST
                timezone_not_found:
                  value:
                    status: ZERO_RESULTS
                timezone_request_denied_response:
                  value:
                    errorMessage: 'You must use an API key to authenticate each request to Google Maps Platform APIs. For additional information, please refer to http://g.co/dev/maps-no-account'
                    status: REQUEST_DENIED
              schema:
                $ref: '#/components/schemas/TimeZoneResponse'
  /v1/snapToRoads:
    get:
      servers:
        - url: 'https://roads.googleapis.com'
      tags:
        - Roads API
      description: 'This service returns the best-fit road geometry for a given set of GPS coordinates. This service takes up to 100 GPS points collected along a route, and returns a similar set of data with the points snapped to the most likely roads the vehicle was traveling along. Optionally, you can request that the points be interpolated, resulting in a path that smoothly follows the geometry of the road.'
      parameters:
        - name: path
          description: |
            The path to be snapped. The path parameter accepts a list of latitude/longitude pairs. Latitude and longitude values should be separated by commas. Coordinates should be separated by the pipe character: "|". For example: `path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796`.
            Note: The snapping algorithm works best for points that are not too far apart. If you observe odd snapping behavior, try creating paths that have points closer together. To ensure the best snap-to-road quality, you should aim to provide paths on which consecutive pairs of points are within 300m of each other. This will also help in handling any isolated, long jumps between consecutive points caused by GPS signal loss, or noise.
          required: true
          in: query
          style: pipeDelimited
          explode: false
          example:
            - '60.170880,24.942795'
            - '60.170879,24.942796'
            - '60.170877,24.942796'
          schema:
            $ref: '#/components/schemas/LatLngArrayString'
        - name: interpolate
          in: query
          description: |
            Whether to interpolate a path to include all points forming the full road-geometry. When true, additional interpolated points will also be returned, resulting in a path that smoothly follows the geometry of the road, even around corners and through tunnels. Interpolated paths will most likely contain more points than the original path. Defaults to `false`.
          schema:
            type: boolean
          example: true
      responses:
        '200':
          description: 'For each valid request, the Roads API will return a response in the format indicated within the request URL.'
          content:
            application/json:
              examples:
                No Interpolation:
                  value:
                    snappedPoints:
                      - location:
                          latitude: -35.27800489993019
                          longitude: 149.129531998742
                        originalIndex: 0
                        placeId: ChIJr_xl0GdNFmsRsUtUbW7qABM
                      - location:
                          latitude: -35.280323564795005
                          longitude: 149.1290903128365
                        originalIndex: 1
                        placeId: ChIJOyypT2hNFmsRZBtscGL0htw
                      - location:
                          latitude: -35.28101395754623
                          longitude: 149.1292430025548
                        originalIndex: 2
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.28146506991143
                          longitude: 149.12978858234607
                        originalIndex: 3
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.28194399606459
                          longitude: 149.1299842294294
                        originalIndex: 4
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.28282136229385
                          longitude: 149.12956142620385
                        originalIndex: 5
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.28313383700836
                          longitude: 149.12893500604946
                        originalIndex: 6
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.284728747199374
                          longitude: 149.12834860726772
                        originalIndex: 7
                        placeId: ChIJtWxAZmpNFmsRlbUCkc6VtnA
                Interpolation:
                  value:
                    snappedPoints:
                      - location:
                          latitude: -35.27800489993019
                          longitude: 149.129531998742
                        originalIndex: 0
                        placeId: ChIJr_xl0GdNFmsRsUtUbW7qABM
                      - location:
                          latitude: -35.2784195
                          longitude: 149.12946589999999
                        placeId: ChIJr_xl0GdNFmsRsUtUbW7qABM
                      - location:
                          latitude: -35.2784195
                          longitude: 149.12946589999999
                        placeId: ChIJ6aXGemhNFmsRZE_zHqhmrG4
                      - location:
                          latitude: -35.2792731
                          longitude: 149.12933809999998
                        placeId: ChIJ6aXGemhNFmsRZE_zHqhmrG4
                      - location:
                          latitude: -35.2792731
                          longitude: 149.12933809999998
                        placeId: ChIJTcTdZ2hNFmsRXokM4mWCWfk
                      - location:
                          latitude: -35.279557
                          longitude: 149.1292973
                        placeId: ChIJTcTdZ2hNFmsRXokM4mWCWfk
                      - location:
                          latitude: -35.279557
                          longitude: 149.1292973
                        placeId: ChIJiUfNQmhNFmsRSsAI-1m6y1g
                      - location:
                          latitude: -35.279610999999996
                          longitude: 149.1292889
                        placeId: ChIJiUfNQmhNFmsRSsAI-1m6y1g
                      - location:
                          latitude: -35.2796484
                          longitude: 149.1292791
                        placeId: ChIJiUfNQmhNFmsRSsAI-1m6y1g
                      - location:
                          latitude: -35.2796484
                          longitude: 149.1292791
                        placeId: ChIJ_RyFQ2hNFmsRoHJAbW7qABM
                      - location:
                          latitude: -35.279947299999996
                          longitude: 149.1291894
                        placeId: ChIJ_RyFQ2hNFmsRoHJAbW7qABM
                      - location:
                          latitude: -35.279947299999996
                          longitude: 149.1291894
                        placeId: ChIJOyypT2hNFmsRZBtscGL0htw
                      - location:
                          latitude: -35.280323564795005
                          longitude: 149.1290903128365
                        originalIndex: 1
                        placeId: ChIJOyypT2hNFmsRZBtscGL0htw
                      - location:
                          latitude: -35.2803426
                          longitude: 149.12908529999999
                        placeId: ChIJOyypT2hNFmsRZBtscGL0htw
                      - location:
                          latitude: -35.2803426
                          longitude: 149.12908529999999
                        placeId: ChIJr8xRTGhNFmsRzMb-rxgjspc
                      - location:
                          latitude: -35.280409899999995
                          longitude: 149.1290699
                        placeId: ChIJr8xRTGhNFmsRzMb-rxgjspc
                      - location:
                          latitude: -35.28048179999999
                          longitude: 149.129062
                        placeId: ChIJr8xRTGhNFmsRzMb-rxgjspc
                      - location:
                          latitude: -35.2805541
                          longitude: 149.1290623
                        placeId: ChIJr8xRTGhNFmsRzMb-rxgjspc
                      - location:
                          latitude: -35.280626
                          longitude: 149.1290712
                        placeId: ChIJr8xRTGhNFmsRzMb-rxgjspc
                      - location:
                          latitude: -35.280626
                          longitude: 149.1290712
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.280695099999996
                          longitude: 149.12908489999998
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.2807629
                          longitude: 149.1291046
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.2808294
                          longitude: 149.1291306
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.2809064
                          longitude: 149.1291693
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.280968200000004
                          longitude: 149.129208
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.28101395754623
                          longitude: 149.1292430025548
                        originalIndex: 2
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.28103840000001
                          longitude: 149.1292617
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.2810936
                          longitude: 149.1293121
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.2810979
                          longitude: 149.1293176
                        placeId: ChIJv5r0smlNFmsR5nunau79Fv4
                      - location:
                          latitude: -35.2810979
                          longitude: 149.1293176
                        placeId: ChIJpYMSrmlNFmsRXkCoIkZxgBg
                      - location:
                          latitude: -35.281152399999996
                          longitude: 149.1294256
                        placeId: ChIJpYMSrmlNFmsRXkCoIkZxgBg
                      - location:
                          latitude: -35.281152399999996
                          longitude: 149.1294256
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2811784
                          longitude: 149.1294706
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2812258
                          longitude: 149.1295413
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2812771
                          longitude: 149.12960759999999
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.281332
                          longitude: 149.1296695
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2813904
                          longitude: 149.12972670000002
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.281451700000005
                          longitude: 149.1297788
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.28146506991143
                          longitude: 149.12978858234607
                        originalIndex: 3
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.28151580000001
                          longitude: 149.1298257
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.28158259999999
                          longitude: 149.129867
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.281666099999995
                          longitude: 149.1299091
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2817377
                          longitude: 149.1299379
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.281810899999996
                          longitude: 149.1299602
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.281884999999996
                          longitude: 149.1299765
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.28194399606459
                          longitude: 149.1299842294294
                        originalIndex: 4
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.281959799999996
                          longitude: 149.12998629999998
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.282035199999996
                          longitude: 149.1299895
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2821254
                          longitude: 149.1299851
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.282199999999996
                          longitude: 149.1299743
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2822739
                          longitude: 149.1299573
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2823468
                          longitude: 149.129934
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2824178
                          longitude: 149.1299043
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2824379
                          longitude: 149.1298945
                        placeId: ChIJ601MoWlNFmsR5mvkfPp2ovA
                      - location:
                          latitude: -35.2824379
                          longitude: 149.1298945
                        placeId: ChIJe9LPnWlNFmsR7mJw8mYHwG0
                      - location:
                          latitude: -35.282472999999996
                          longitude: 149.1298835
                        placeId: ChIJe9LPnWlNFmsR7mJw8mYHwG0
                      - location:
                          latitude: -35.2825375
                          longitude: 149.1298525
                        placeId: ChIJe9LPnWlNFmsR7mJw8mYHwG0
                      - location:
                          latitude: -35.28257309999999
                          longitude: 149.1298319
                        placeId: ChIJe9LPnWlNFmsR7mJw8mYHwG0
                      - location:
                          latitude: -35.28257309999999
                          longitude: 149.1298319
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.282665400000006
                          longitude: 149.12974459999998
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.28274030000001
                          longitude: 149.1296645
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.282809799999995
                          longitude: 149.12957799999998
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.28282136229385
                          longitude: 149.12956142620385
                        originalIndex: 5
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.2828744
                          longitude: 149.1294854
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.282922299999996
                          longitude: 149.1294044
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.282931500000004
                          longitude: 149.1293876
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.2830263
                          longitude: 149.1291788
                        placeId: ChIJaUpThGlNFmsRMHWxoH7EOsc
                      - location:
                          latitude: -35.2830263
                          longitude: 149.1291788
                        placeId: ChIJyd3JiWlNFmsR9RUq2ySTTZQ
                      - location:
                          latitude: -35.283054
                          longitude: 149.1290996
                        placeId: ChIJyd3JiWlNFmsR9RUq2ySTTZQ
                      - location:
                          latitude: -35.2830794
                          longitude: 149.1290094
                        placeId: ChIJyd3JiWlNFmsR9RUq2ySTTZQ
                      - location:
                          latitude: -35.2830794
                          longitude: 149.1290094
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.28313383700836
                          longitude: 149.12893500604946
                        originalIndex: 6
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.283134499999996
                          longitude: 149.12893409999998
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.283190399999995
                          longitude: 149.1288668
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2832503
                          longitude: 149.1288041
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2833133
                          longitude: 149.1287463
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2833794
                          longitude: 149.128694
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.283448299999996
                          longitude: 149.128647
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2835199
                          longitude: 149.1286054
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2835934
                          longitude: 149.1285699
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.283668899999995
                          longitude: 149.12854059999998
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.28372649999999
                          longitude: 149.1285237
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.28386179999999
                          longitude: 149.12849319999998
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2839978
                          longitude: 149.1284682
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2840205
                          longitude: 149.12846779999998
                        placeId: ChIJWSb8ImpNFmsRp_4JAxJFE1A
                      - location:
                          latitude: -35.2840205
                          longitude: 149.12846779999998
                        placeId: ChIJZe8tFWpNFmsR4brZ1vldk2E
                      - location:
                          latitude: -35.2840524
                          longitude: 149.12845969999998
                        placeId: ChIJZe8tFWpNFmsR4brZ1vldk2E
                      - location:
                          latitude: -35.284341500000004
                          longitude: 149.1284124
                        placeId: ChIJZe8tFWpNFmsR4brZ1vldk2E
                      - location:
                          latitude: -35.2843875
                          longitude: 149.1284034
                        placeId: ChIJZe8tFWpNFmsR4brZ1vldk2E
                      - location:
                          latitude: -35.2843875
                          longitude: 149.1284034
                        placeId: ChIJVx7Ta2pNFmsRx9OI9CnN5tI
                      - location:
                          latitude: -35.2845916
                          longitude: 149.1283726
                        placeId: ChIJVx7Ta2pNFmsRx9OI9CnN5tI
                      - location:
                          latitude: -35.2845916
                          longitude: 149.1283726
                        placeId: ChIJtWxAZmpNFmsRlbUCkc6VtnA
                      - location:
                          latitude: -35.28459730000001
                          longitude: 149.1283703
                        placeId: ChIJtWxAZmpNFmsRlbUCkc6VtnA
                      - location:
                          latitude: -35.284728747199374
                          longitude: 149.12834860726772
                        originalIndex: 7
                        placeId: ChIJtWxAZmpNFmsRlbUCkc6VtnA
                Too Sparse:
                  value:
                    warningMessage: Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation.
              schema:
                $ref: '#/components/schemas/SnapToRoadsResposne'
  /v1/nearestRoads:
    get:
      servers:
        - url: 'https://roads.googleapis.com'
      tags:
        - Roads API
      description: This service returns individual road segments for a given set of GPS coordinates. This services takes up to 100 GPS points and returns the closest road segment for each point. The points passed do not need to be part of a continuous path.
      parameters:
        - name: points
          description: |
            The path to be snapped. The path parameter accepts a list of latitude/longitude pairs. Latitude and longitude values should be separated by commas. Coordinates should be separated by the pipe character: "|". For example: `path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796`.
            Note: The snapping algorithm works best for points that are not too far apart. If you observe odd snapping behavior, try creating paths that have points closer together. To ensure the best snap-to-road quality, you should aim to provide paths on which consecutive pairs of points are within 300m of each other. This will also help in handling any isolated, long jumps between consecutive points caused by GPS signal loss, or noise.
          required: true
          in: query
          style: pipeDelimited
          explode: false
          example:
            - '60.170880,24.942795'
            - '60.170879,24.942796'
            - '60.170877,24.942796'
          schema:
            $ref: '#/components/schemas/LatLngArrayString'
      responses:
        '200':
          description: 'For each valid request, the Roads API will return a response in the format indicated within the request URL.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NearestRoadsResponse'
        '400':
          description: 'For each valid request, the Roads API will return a response in the format indicated within the request URL.'
          content:
            application/json:
              examples:
                Bad Request:
                  value:
                    error:
                      code: 400
                      message: '"points" is a required parameter.'
                      status: INVALID_ARGUMENT
              schema:
                $ref: '#/components/schemas/NearestRoadsErrorResponse'
  /maps/api/distanceMatrix/json:
    get:
      servers:
        - url: 'https://maps.googleapis.com'
      tags:
        - Distance Matrix API
      description: 'The Distance Matrix API is a service that provides travel distance and time for a matrix of origins and destinations. The API returns information based on the recommended route between start and end points, as calculated by the Google Maps API, and consists of rows containing duration and distance values for each pair.'
      parameters:
        - name: origins
          description: |
            The starting point for calculating travel distance and time. You can supply one or more locations separated by the pipe character (|), in the form of a place ID, an address, or latitude/longitude coordinates:
            - **Place ID**: If you supply a place ID, you must prefix it with `place_id:`.
            - **Address**: If you pass an address, the service geocodes the string and converts it to a latitude/longitude coordinate to calculate distance. This coordinate may be different from that returned by the Geocoding API, for example a building entrance rather than its center.
              Note: using place IDs is preferred over using addresses or latitude/longitude coordinates. Using coordinates will always result in the point being snapped to the road nearest to those coordinates - which may not be an access point to the property, or even a road that will quickly or safely lead to the destination.
            - **Coordinates**: If you pass latitude/longitude coordinates, they they will snap to the nearest road. Passing a place ID is preferred. If you do pass coordinates, ensure that no space exists between the latitude and longitude values.
            - **Plus codes** must be formatted as a global code or a compound code. Format plus codes as shown here (plus signs are url-escaped to %2B and spaces are url-escaped to %20):
              - **global code** is a 4 character area code and 6 character or longer local code (`849VCWC8+R9` is encoded to `849VCWC8%2BR9`).
              - **compound code** is a 6 character or longer local code with an explicit location (`CWC8+R9 Mountain View, CA, USA` is encoded to `CWC8%2BR9%20Mountain%20View%20CA%20USA`).
            - **Encoded Polyline** Alternatively, you can supply an encoded set of coordinates using the [Encoded Polyline Algorithm](https://developers.google.com/maps/documentation/utilities/polylinealgorithm). This is particularly useful if you have a large number of origin points, because the URL is significantly shorter when using an encoded polyline.
              - Encoded polylines must be prefixed with `enc:` and followed by a colon `:`. For example: `origins=enc:gfo}EtohhU:`
              - You can also include multiple encoded polylines, separated by the pipe character `|`. For example: `origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:`
          required: true
          in: query
          style: pipeDelimited
          explode: false
          example:
            - Vancouver BC
            - Seattle
          schema:
            type: array
            items:
              type: string
        - name: destinations
          description: One or more locations to use as the finishing point for calculating travel distance and time. The options for the destinations parameter are the same as for the origins parameter.
          required: true
          in: query
          style: pipeDelimited
          explode: false
          example:
            - San Francisco
            - Victoria BC
          schema:
            type: array
            items:
              type: string
        - name: mode
          description: 'For the calculation of distances, you may specify the transportation mode to use. By default, distances are calculated for driving mode. If you set the mode to transit you can optionally specify either a departure_time or an arrival_time. If neither time is specified, the departure_time defaults to now (that is, the departure time defaults to the current time). You can also optionally include a transit_mode and/or a transit_routing_preference.'
          in: query
          schema:
            $ref: '#/components/schemas/TravelMode'
      responses:
        '200':
          description: Response for the Distance Matrix API query.
          content:
            application/json:
              examples:
                avoid_response:
                  value:
                    destination_addresses:
                      - 'Victoria, BC, Canada'
                    origin_addresses:
                      - 'Seattle, WA, USA'
                    rows:
                      - elements:
                          - distance:
                              text: 341 km
                              value: 340962
                            duration:
                              text: 5 hours 34 mins
                              value: 20062
                            status: OK
                    status: OK
                bicycling_response:
                  value:
                    destination_addresses:
                      - 'San Francisco, CA, USA'
                      - 'Victoria, BC, Canada'
                    origin_addresses:
                      - 'Vancouver, BC, Canada'
                      - 'Seattle, WA, USA'
                    rows:
                      - elements:
                          - distance:
                              text: '1,725 km'
                              value: 1725005
                            duration:
                              text: 3 days 21 hours
                              value: 335718
                            status: OK
                          - distance:
                              text: 140 km
                              value: 139623
                            duration:
                              text: 6 hours 48 mins
                              value: 24476
                            status: OK
                      - elements:
                          - distance:
                              text: '1,469 km'
                              value: 1468780
                            duration:
                              text: 3 days 7 hours
                              value: 284624
                            status: OK
                          - distance:
                              text: 146 km
                              value: 146499
                            duration:
                              text: 2 hours 53 mins
                              value: 10375
                            status: OK
                    status: OK
                encoded_response:
                  value:
                    destination_addresses:
                      - '339 Hicks St, Brooklyn, NY 11201, USA'
                      - '585 Schenectady Ave, Brooklyn, NY 11203, USA'
                      - '102-01 66th Rd, Queens, NY 11375, USA'
                      - '1000 N Village Ave, Rockville Centre, NY 11570, USA'
                      - '324 Beach 19th St, Far Rockaway, NY 11691, USA'
                      - '585 Schenectady Ave, Brooklyn, NY 11203, USA'
                      - '102-01 66th Rd, Queens, NY 11375, USA'
                      - '1000 N Village Ave, Rockville Centre, NY 11570, USA'
                      - '324 Beach 19th St, Far Rockaway, NY 11691, USA'
                    origin_addresses:
                      - 'P.O. Box 793, Brooklyn, NY 11207, USA'
                    rows:
                      - elements:
                          - distance:
                              text: 10.4 km
                              value: 10423
                            duration:
                              text: 33 mins
                              value: 1997
                            status: OK
                          - distance:
                              text: 4.8 km
                              value: 4823
                            duration:
                              text: 19 mins
                              value: 1131
                            status: OK
                          - distance:
                              text: 13.6 km
                              value: 13550
                            duration:
                              text: 22 mins
                              value: 1330
                            status: OK
                          - distance:
                              text: 25.6 km
                              value: 25550
                            duration:
                              text: 30 mins
                              value: 1775
                            status: OK
                          - distance:
                              text: 21.3 km
                              value: 21308
                            duration:
                              text: 34 mins
                              value: 2066
                            status: OK
                          - distance:
                              text: 4.8 km
                              value: 4823
                            duration:
                              text: 19 mins
                              value: 1131
                            status: OK
                          - distance:
                              text: 13.6 km
                              value: 13550
                            duration:
                              text: 22 mins
                              value: 1330
                            status: OK
                          - distance:
                              text: 25.6 km
                              value: 25550
                            duration:
                              text: 30 mins
                              value: 1775
                            status: OK
                          - distance:
                              text: 21.3 km
                              value: 21308
                            duration:
                              text: 34 mins
                              value: 2066
                            status: OK
                    status: OK
                place_id_response:
                  value:
                    destination_addresses:
                      - 'Sydney NSW, Australia'
                    origin_addresses:
                      - 'Bennelong Point, Sydney NSW 2000, Australia'
                    rows:
                      - elements:
                          - distance:
                              text: 1.7 km
                              value: 1696
                            duration:
                              text: 8 mins
                              value: 474
                            status: OK
                    status: OK
                plus_code_response:
                  value:
                    destination_addresses:
                      - 'San Francisco, CA, USA'
                    origin_addresses:
                      - ''
                    rows:
                      - elements:
                          - status: NOT_FOUND
                    status: OK
                response:
                  value:
                    destination_addresses:
                      - 'Lexington, MA, USA'
                      - 'Concord, MA, USA'
                    origin_addresses:
                      - 'Boston, MA, USA'
                      - 'Charlestown, Boston, MA, USA'
                    rows:
                      - elements:
                          - distance:
                              text: 20.4 km
                              value: 20418
                            duration:
                              text: 28 mins
                              value: 1680
                            duration_in_traffic:
                              text: 29 mins
                              value: 1756
                            status: OK
                          - distance:
                              text: 32.7 km
                              value: 32747
                            duration:
                              text: 32 mins
                              value: 1933
                            duration_in_traffic:
                              text: 35 mins
                              value: 2102
                            status: OK
                      - elements:
                          - distance:
                              text: 18.4 km
                              value: 18394
                            duration:
                              text: 27 mins
                              value: 1634
                            duration_in_traffic:
                              text: 29 mins
                              value: 1739
                            status: OK
                          - distance:
                              text: 30.7 km
                              value: 30723
                            duration:
                              text: 31 mins
                              value: 1887
                            duration_in_traffic:
                              text: 35 mins
                              value: 2089
                            status: OK
                    status: OK
              schema:
                $ref: '#/components/schemas/DistanceMatrixResponse'
components:
  parameters:
    language:
      name: language
      in: query
      description: |-
        The language in which to return results.

        https://developers.google.com/maps/faq#languagesupport
      schema:
        type: string
        default: en
        enum:
          - ar
          - bg
          - bn
          - ca
          - cs
          - da
          - de
          - el
          - en
          - en-AU
          - en-GB
          - es
          - eu
          - fa
          - fi
          - fil
          - fr
          - gl
          - gu
          - hi
          - hr
          - hu
          - id
          - it
          - iw
          - ja
          - kn
          - ko
          - lt
          - lv
          - ml
          - mr
          - nl
          - 'no'
          - pl
          - pt
          - pt-BR
          - pt-PT
          - ro
          - ru
          - sk
          - sl
          - sr
          - sv
          - ta
          - te
          - th
          - tl
          - tr
          - uk
          - vi
          - zh-CN
          - zh-TW
    region:
      name: region
      in: query
      description: |-
        The region code, specified as a ccTLD ("top-level domain") two-character value.

        https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains
      schema:
        type: string
        default: en
        enum:
          - ac
          - ad
          - ae
          - af
          - ag
          - ai
          - al
          - am
          - an
          - ao
          - aq
          - ar
          - as
          - at
          - au
          - aw
          - ax
          - az
          - ba
          - bb
          - bd
          - be
          - bf
          - bg
          - bh
          - bi
          - bj
          - bl
          - bm
          - bn
          - bo
          - bq
          - br
          - bs
          - bt
          - bv
          - bw
          - by
          - bz
          - ca
          - cc
          - cd
          - cf
          - cg
          - ch
          - ci
          - ck
          - cl
          - cm
          - cn
          - co
          - cr
          - cu
          - cv
          - cw
          - cx
          - cy
          - cz
          - de
          - dj
          - dk
          - dm
          - do
          - dz
          - ec
          - ee
          - eg
          - eh
          - er
          - es
          - et
          - eu
          - fi
          - fj
          - fk
          - fm
          - fo
          - fr
          - ga
          - gb
          - gd
          - ge
          - gf
          - gg
          - gh
          - gi
          - gl
          - gm
          - gn
          - gp
          - gq
          - gr
          - gs
          - gt
          - gu
          - gw
          - gy
          - hk
          - hm
          - hn
          - hr
          - ht
          - hu
          - id
          - ie
          - il
          - im
          - in
          - io
          - iq
          - ir
          - is
          - it
          - je
          - jm
          - jo
          - jp
          - ke
          - kg
          - kh
          - ki
          - km
          - kn
          - kp
          - kr
          - kw
          - ky
          - kz
          - la
          - lb
          - lc
          - li
          - lk
          - lr
          - ls
          - lt
          - lu
          - lv
          - ly
          - ma
          - mc
          - md
          - me
          - mf
          - mg
          - mh
          - mk
          - ml
          - mm
          - mn
          - mo
          - mp
          - mq
          - mr
          - ms
          - mt
          - mu
          - mv
          - mw
          - mx
          - my
          - mz
          - na
          - nc
          - ne
          - nf
          - ng
          - ni
          - nl
          - 'no'
          - np
          - nr
          - nu
          - nz
          - om
          - pa
          - pe
          - pf
          - pg
          - ph
          - pk
          - pl
          - pm
          - pn
          - pr
          - ps
          - pt
          - pw
          - py
          - qa
          - re
          - ro
          - rs
          - ru
          - rw
          - sa
          - sb
          - sc
          - sd
          - se
          - sg
          - sh
          - si
          - sj
          - sk
          - sl
          - sm
          - sn
          - so
          - sr
          - ss
          - st
          - su
          - sv
          - sx
          - sy
          - sz
          - tc
          - td
          - tf
          - tg
          - th
          - tj
          - tk
          - tl
          - tm
          - tn
          - to
          - tp
          - tr
          - tt
          - tv
          - tw
          - tz
          - ua
          - ug
          - uk
          - um
          - us
          - uy
          - uz
          - va
          - vc
          - ve
          - vg
          - vi
          - vn
          - vu
          - wf
          - ws
          - ye
          - yt
          - za
          - zm
          - zw
  schemas:
    LatLngArrayString:
      description: 'An array of comma separated {latitude,longitude} strings.'
      example:
        - '35,-100'
        - '40,-110'
      type: array
      items:
        type: string
        minItems: 2
    LatLngLiteral:
      type: object
      title: LatLng Literal
      description: An object describing a specific location with Latitude and Longitude in decimal degrees.
      required:
        - lat
        - lng
      properties:
        lat:
          type: number
          description: Latitude in decimal degrees
        lng:
          type: number
          description: Longitude in decimal degrees
    LatitudeLongitudeLiteral:
      type: object
      title: Latitidue Longitude Literal
      description: An object describing a specific location with Latitude and Longitude in decimal degrees.
      required:
        - latitude
        - longitude
      properties:
        latitude:
          type: number
          description: Latitude in decimal degrees
        longitude:
          type: number
          description: Longitude in decimal degrees
    AddressComponents:
      title: Address Components
      type: object
      properties:
        long_name:
          type: string
          description: The full text description or name of the address component as returned by the Geocoding.
        short_name:
          description: 'An abbreviated textual name for the address component, if available. For example, an address component for the state of Alaska may have a long_name of `Alaska` and a short_name of `AK` using the 2-letter postal abbreviation.'
          type: string
        types:
          description: 'An array indicating the type of the address component. See the list of [supported types](https://developers.google.com/places/web-service/supported_types).'
          type: array
          items:
            type: string
    Viewport:
      title: Viewport
      type: object
      required:
        - northeast
        - southwest
      properties:
        northeast:
          $ref: '#/components/schemas/LatLngLiteral'
        southwest:
          $ref: '#/components/schemas/LatLngLiteral'
    Geometry:
      type: object
      title: Geometry
      properties:
        location:
          $ref: '#/components/schemas/LatLngLiteral'
        location_type:
          description: |
            Stores additional data about the specified location. The following values are currently supported:

            - "ROOFTOP" indicates that the returned result is a precise geocode for which we have location information accurate down to street address precision.
            - "RANGE_INTERPOLATED" indicates that the returned result reflects an approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address.
            - "GEOMETRIC_CENTER" indicates that the returned result is the geometric center of a result such as a polyline (for example, a street) or polygon (region).
            - "APPROXIMATE" indicates that the returned result is approximate.
          type: string
        viewport:
          $ref: '#/components/schemas/Viewport'
    PlusCode:
      type: object
      title: Plus Code
      description: 'An encoded location reference, derived from latitude and longitude coordinates, that represents an area, 1/8000th of a degree by 1/8000th of a degree (about 14m x 14m at the equator) or smaller. Plus codes can be used as a replacement for street addresses in places where they do not exist (where buildings are not numbered or streets are not named).'
      externalDocs:
        url: 'https://plus.codes/'
        description: Site describing Plus Codes.
      properties:
        compound_code:
          description: 'The `compound_code` is a 6 character or longer local code with an explicit location (`CWC8+R9, Mountain View, CA, USA`).'
          type: string
        global_code:
          description: The `global_code` is a 4 character area code and 6 character or longer local code (`849VCWC8+R9`).
          type: string
    TravelMode:
      type: string
      title: Travel Mode
      description: |
        - `driving` (default) indicates distance calculation using the road network.
        - `walking` requests distance calculation for walking via pedestrian paths & sidewalks (where available).
        - `bicycling` requests distance calculation for bicycling via bicycle paths & preferred streets (where available).
        - `transit` requests distance calculation via public transit routes (where available). 
      enum:
        - driving
        - walking
        - bicycling
        - transit
    DistanceMatrixElementStatus:
      type: string
      title: Distance Matrix Element Status
      description: |
        - `OK` indicates the response contains a valid result.
        - `NOT_FOUND` indicates that the origin and/or destination of this pairing could not be geocoded.
        - `ZERO_RESULTS` indicates no route could be found between the origin and destination.
        - `MAX_ROUTE_LENGTH_EXCEEDED` indicates the requested route is too long and cannot be processed.
      enum:
        - OK
        - NOT_FOUND
        - ZERO_RESULTS
        - MAX_ROUTE_LENGTH_EXCEEDED
    DistanceMatrixResponse:
      type: object
      title: Distance Matrix Response Body
      required:
        - origin_addresses
        - destination_addresses
        - rows
        - status
      properties:
        origin_addresses:
          description: An array of addresses as returned by the API from your original request. These are formatted by the geocoder and localized according to the language parameter passed with the request.
          type: array
          items:
            type: string
        destination_addresses:
          description: 'An array of addresses as returned by the API from your original request. As with origin_addresses, these are localized if appropriate.'
          type: array
          items:
            type: string
        rows:
          description: 'An array of elements, which in turn each contain a `status`, `duration`, and `distance` element.'
          type: array
          items:
            $ref: '#/components/schemas/DistanceMatrixRow'
        status:
          description: Contains metadata on the request.
          $ref: '#/components/schemas/DistanceMatrixStatus'
    DistanceMatrixRow:
      type: object
      title: Distance Matrix Row
      required:
        - elements
      properties:
        elements:
          description: |
            When the Distance Matrix API returns results, it places them within a JSON rows array. Even if no results are returned (such as when the origins and/or destinations don't exist), it still returns an empty array. 
            Rows are ordered according to the values in the origin parameter of the request. Each row corresponds to an origin, and each element within that row corresponds to a pairing of the origin with a destination value.
            Each row array contains one or more element entries, which in turn contain the information about a single origin-destination pairing.
          type: array
          items:
            $ref: '#/components/schemas/DistanceMatrixElement'
    DistanceMatrixElement:
      type: object
      title: Distance Matrix Element
      required:
        - status
      properties:
        distance:
          $ref: '#/components/schemas/DistanceMatrixObject'
        duration:
          $ref: '#/components/schemas/DistanceMatrixObject'
        status:
          description: A status for the element.
          $ref: '#/components/schemas/DistanceMatrixElementStatus'
    DistanceMatrixObject:
      type: object
      title: Distance Matrix Object
      required:
        - text
        - value
      properties:
        text:
          description: String value.
          type: string
        value:
          description: Numeric value.
          type: number
    DistanceMatrixStatus:
      type: string
      title: Distance Matrix Status
      description: |
        Status codes returned by service.
        - `OK` indicates the response contains a valid result.
        - `INVALID_REQUEST` indicates that the provided request was invalid.
        - `MAX_ELEMENTS_EXCEEDED` indicates that the product of origins and destinations exceeds the per-query limit.
        - `MAX_DIMENSIONS_EXCEEDED` indicates that the number of origins or destinations exceeds the per-query limit.
        - `OVER_DAILY_LIMIT` indicates any of the following:
          - The API key is missing or invalid.
          - Billing has not been enabled on your account.
          - A self-imposed usage cap has been exceeded.
          - The provided method of payment is no longer valid (for example, a credit card has expired).
        - `OVER_QUERY_LIMIT` indicates the service has received too many requests from your application within the allowed time period.
        - `REQUEST_DENIED` indicates that the service denied use of the Distance Matrix service by your application.
        - `UNKNOWN_ERROR` indicates a Distance Matrix request could not be processed due to a server error. The request may succeed if you try again.
      enum:
        - OK
        - INVALID_REQUEST
        - MAX_ELEMENTS_EXCEEDED
        - MAX_DIMENSIONS_EXCEEDED
        - OVER_DAILY_LIMIT
        - OVER_QUERY_LIMIT
        - REQUEST_DENIED
        - UNKNOWN_ERROR
    ElevationResult:
      type: object
      title: Elevation Result
      required:
        - elevation
        - location
      properties:
        elevation:
          description: The elevation of the location in meters.
          type: number
        resolution:
          description: 'The value indicating the maximum distance between data points from which the elevation was interpolated, in meters. This property will be missing if the resolution is not known. Note that elevation data becomes more coarse (larger resolution values) when multiple points are passed. To obtain the most accurate elevation value for a point, it should be queried independently.'
          type: number
        location:
          description: 'A location element of the position for which elevation data is being computed. Note that for path requests, the set of location elements will contain the sampled points along the path.'
          $ref: '#/components/schemas/LatLngLiteral'
    ElevationResponse:
      type: object
      title: Elevation Response
      required:
        - status
        - results
      properties:
        error_message:
          description: Detailed information about the reasons behind the given status code.
          type: string
          example: Invalid request. Invalid 'locations' parameter.
        status:
          $ref: '#/components/schemas/ElevationStatus'
        results:
          type: array
          items:
            $ref: '#/components/schemas/ElevationResult'
    ElevationStatus:
      type: string
      title: Elevation Status
      description: |
        Status codes returned by service.
        - `OK` indicating the API request was successful.
        - `INVALID_REQUEST` indicating the API request was malformed.
        - `OVER_DAILY_LIMIT` indicating any of the following:
          - The API key is missing or invalid.
          - Billing has not been enabled on your account.
          - A self-imposed usage cap has been exceeded.
          - The provided method of payment is no longer valid (for example, a credit card has expired).
        - `OVER_QUERY_LIMIT` indicating the requestor has exceeded quota.
        - `REQUEST_DENIED` indicating the API did not complete the request.
        - `UNKNOWN_ERROR` indicating an unknown error.
      enum:
        - OK
        - INVALID_REQUEST
        - OVER_DAILY_LIMIT
        - OVER_QUERY_LIMIT
        - REQUEST_DENIED
        - UNKNOWN_ERROR
    GeocodingResult:
      type: object
      title: Geocoding Result
      properties:
        address_components:
          description: An array containing the separate components applicable to this address.
          type: array
          items:
            $ref: '#/components/schemas/AddressComponents'
        formatted_address:
          description: The human-readable address of this location.
          type: string
        geometry:
          $ref: '#/components/schemas/Geometry'
        place_id:
          description: 'A unique identifier that can be used with other Google APIs. For example, you can use the `place_id` in a Places API request to get details of a local business, such as phone number, opening hours, user reviews, and more. See the [place ID overview](https://developers.google.com/places/place-id).'
          type: string
        plus_code:
          $ref: '#/components/schemas/PlusCode'
        types:
          description: 'The `types[]` array indicates the type of the returned result. This array contains a set of zero or more tags identifying the type of feature returned in the result. For example, a geocode of "Chicago" returns "locality" which indicates that "Chicago" is a city, and also returns "political" which indicates it is a political entity.'
          type: array
          items:
            type: string
    GeocodingResponse:
      type: object
      title: Geocoding Response Body
      required:
        - status
        - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/GeocodingResult'
        status:
          $ref: '#/components/schemas/GeocodingStatus'
    GeocodingStatus:
      type: string
      title: Geocoding Status
      description: |
        The `status` field within the Geocoding response object contains the status of the request, and may contain debugging information to help you track down why geocoding is not working. The "status" field may contain the following values:

        - `OK` indicates that no errors occurred; the address was successfully parsed and at least one geocode was returned.
        - `ZERO_RESULTS` indicates that the geocode was successful but returned no results. This may occur if the geocoder was passed a non-existent address.
        - `OVER_DAILY_LIMIT` indicates any of the following:
          - The API key is missing or invalid.
          - Billing has not been enabled on your account.
          - A self-imposed usage cap has been exceeded.
          - The provided method of payment is no longer valid (for example, a credit card has expired).
        - `OVER_QUERY_LIMIT` indicates that you are over your quota.
        - `REQUEST_DENIED` indicates that your request was denied.
        - `INVALID_REQUEST` generally indicates that the query (address, components or latlng) is missing.
        - `UNKNOWN_ERROR` indicates that the request could not be processed due to a server error. The request may succeed if you try again.
      enum:
        - OK
        - INVALID_REQUEST
        - OVER_DAILY_LIMIT
        - OVER_QUERY_LIMIT
        - REQUEST_DENIED
        - UNKNOWN_ERROR
        - ZERO_RESULTS
    GeolocationRequest:
      type: object
      title: Geolocation Request Body
      description: 'The request body must be formatted as JSON. The following fields are supported, and all fields are optional.'
      properties:
        homeMobileCountryCode:
          type: integer
          description: The cell tower's Mobile Country Code (MCC).
        homeMobileNetworkCode:
          type: integer
          description: The cell tower's Mobile Network Code. This is the MNC for GSM and WCDMA; CDMA uses the System ID (SID).
        radioType:
          type: string
          description: 'The mobile radio type. Supported values are lte, gsm, cdma, and wcdma. While this field is optional, it should be included if a value is available, for more accurate results.'
        carrier:
          type: string
          description: The carrier name.
        considerIp:
          type: string
          description: Specifies whether to fall back to IP geolocation if wifi and cell tower signals are not available. Defaults to true. Set considerIp to false to disable fall back.
        cellTowers:
          type: array
          description: The request body's cellTowers array contains zero or more cell tower objects.
          items:
            $ref: '#/components/schemas/CellTower'
        wifiAccessPoints:
          type: array
          description: An array of two or more WiFi access point objects.
          items:
            $ref: '#/components/schemas/WifiAccessPoint'
    GeolocationResponse:
      type: object
      title: Geolocation Response Body
      description: A successful geolocation request will return a JSON-formatted response defining a location and radius.
      required:
        - location
        - accuracy
      properties:
        location:
          description: 'The user’s estimated latitude and longitude, in degrees.'
          $ref: '#/components/schemas/LatLngLiteral'
        accuracy:
          description: 'The accuracy of the estimated location, in meters. This represents the radius of a circle around the given `location`. If your Geolocation response shows a very high value in the `accuracy` field, the service may be geolocating based on the  request IP, instead of WiFi points or cell towers. This can happen if no cell towers or access points are valid or recognized. To confirm that this is the issue, set `considerIp` to `false` in your request. If the response is a `404`, you''ve confirmed that your `wifiAccessPoints` and `cellTowers` objects could not be geolocated.'
          type: number
      example:
        location:
          lat: 37.421925
          lng: -122.0841293
        accuracy: 30
    CellTower:
      type: object
      title: Cell Tower
      description: 'Attributes used to describe a cell tower. The following optional fields are not currently used, but may be included if values are available: `age`, `signalStrength`, `timingAdvance`.'
      required:
        - cellId
        - locationAreaCode
        - mobileCountryCode
        - mobileNetworkCode
      properties:
        cellId:
          description: 'Unique identifier of the cell. On GSM, this is the Cell ID (CID); CDMA networks use the Base Station ID (BID). WCDMA networks use the UTRAN/GERAN Cell Identity (UC-Id), which is a 32-bit value concatenating the Radio Network Controller (RNC) and Cell ID. Specifying only the 16-bit Cell ID value in WCDMA networks may return inaccurate results.'
          type: integer
        locationAreaCode:
          description: The Location Area Code (LAC) for GSM and WCDMA networks. The Network ID (NID) for CDMA networks.
          type: integer
        mobileCountryCode:
          description: The cell tower's Mobile Country Code (MCC).
          type: integer
        mobileNetworkCode:
          description: The cell tower's Mobile Network Code. This is the MNC for GSM and WCDMA; CDMA uses the System ID (SID).
          type: integer
        age:
          description: 'The number of milliseconds since this cell was primary. If age is 0, the cellId represents a current measurement.'
          type: integer
        signalStrength:
          description: Radio signal strength measured in dBm.
          type: number
        timingAdvance:
          description: The timing advance value.
          type: number
      example:
        cellTowers:
          - cellId: 170402199
            locationAreaCode: 35632
            mobileCountryCode: 310
            mobileNetworkCode: 410
            age: 0
            signalStrength: -60
            timingAdvance: 15
    WifiAccessPoint:
      type: object
      title: WiFi Access Point
      description: Attributes used to describe a WiFi access point.
      required:
        - macAddress
      properties:
        macAddress:
          description: 'The MAC address of the WiFi node. It''s typically called a BSS, BSSID or MAC address. Separators must be `:` (colon).'
          type: string
        signalStrength:
          description: The current signal strength measured in dBm.
          type: integer
        signalToNoiseRatio:
          description: The current signal to noise ratio measured in dB.
          type: integer
        age:
          description: The number of milliseconds since this access point was detected.
          type: integer
        channel:
          description: The channel over which the client is communication with the access point.
          type: integer
      example:
        considerIp: 'false'
        wifiAccessPoints:
          - macAddress: '84:d4:7e:09:a5:f1'
            signalStrength: -43
            signalToNoiseRatio: 0
          - macAddress: '44:48:c1:a6:f3:d0'
            signalStrength: -55
            signalToNoiseRatio: 0
    NearestRoadsError:
      type: object
      title: Nearest Roads Error
      required:
        - code
        - message
        - status
      properties:
        code:
          description: This is the same as the HTTP status of the response.
          type: number
        message:
          description: A short description of the error.
          type: string
        status:
          description: An error such as `INVALID_ARGUMENT`.
          type: string
    NearestRoadsErrorResponse:
      type: object
      title: Nearest Roads Response Body
      properties:
        error:
          $ref: '#/components/schemas/NearestRoadsError'
    NearestRoadsResponse:
      type: object
      title: Nearest Roads Response Body
      properties:
        snappedPoints:
          description: An array of snapped points.
          type: array
          items:
            $ref: '#/components/schemas/SnappedPoint'
    SnappedPoint:
      type: object
      title: Snap to Roads Response Body
      required:
        - location
        - placeId
      properties:
        location:
          $ref: '#/components/schemas/LatitudeLongitudeLiteral'
        originalIndex:
          description: 'An integer that indicates the corresponding value in the original request. Each value in the request should map to a snapped value in the response. However, if you''ve set interpolate=true, then it''s possible that the response will contain more coordinates than the request. Interpolated values will not have an `originalIndex`. These values are indexed from `0`, so a point with an originalIndex of `4` will be the snapped value of the 5th latitude/longitude passed to the path parameter.'
          type: number
        placeId:
          description: A unique identifier for a place. All place IDs returned by the Roads API correspond to road segments.
          type: string
    SnapToRoadsResposne:
      type: object
      title: Snap to Roads Response Body
      properties:
        snappedPoints:
          description: An array of snapped points.
          type: array
          items:
            $ref: '#/components/schemas/SnappedPoint'
        warning_message:
          description: A string continaing a user-visible warning.
          type: string
    TimeZoneResponse:
      type: object
      title: Time Zone Response Body
      properties:
        dstOffset:
          description: The offset for daylight-savings time in seconds. This will be zero if the time zone is not in Daylight Savings Time during the specified `timestamp`.
          type: number
        rawOffset:
          description: The offset from UTC (in seconds) for the given location. This does not take into effect daylight savings.
          type: number
        timeZoneId:
          description: 'a string containing the ID of the time zone, such as "America/Los_Angeles" or "Australia/Sydney". These IDs are defined by [Unicode Common Locale Data Repository (CLDR) project](http://cldr.unicode.org/), and currently available in file timezone.xml. When a timezone has several IDs, the canonical one is returned. In xml responses, this is the first alias of each timezone. For example, "Asia/Calcutta" is returned, not "Asia/Kolkata".'
          type: string
        timeZoneName:
          description: The long form name of the time zone. This field will be localized if the language parameter is set. eg. `Pacific Daylight Time` or `Australian Eastern Daylight Time`.
          type: string
        status:
          $ref: '#/components/schemas/TimeZoneStatus'
        errorMessage:
          description: Detailed information about the reasons behind the given status code. Included if status other than `Ok`.
          type: string
    TimeZoneStatus:
      type: string
      title: Time Zone Status
      description: |
        The `status` field within the Time Zone response object contains the status of the request. The "status" field may contain the following values:

        - `OK` indicates that the request was successful.
        - `INVALID_REQUEST` indicates that the request was malformed.
        - `OVER_DAILY_LIMIT` indicates any of the following:
          - The API key is missing or invalid.
          - Billing has not been enabled on your account.
          - A self-imposed usage cap has been exceeded.
          - The provided method of payment is no longer valid (for example, a credit card has expired).

        - `OVER_QUERY_LIMIT` indicates the requestor has exceeded quota.
        - `REQUEST_DENIED` indicates that the API did not complete the request. Confirm that the request was sent over HTTPS instead of HTTP.
        - `UNKNOWN_ERROR` indicates an unknown error.
        - `ZERO_RESULTS` indicates that no time zone data could be found for the specified position or time. Confirm that the request is for a location on land, and not over water.
      enum:
        - OK
        - INVALID_REQUEST
        - OVER_DAILY_LIMIT
        - OVER_QUERY_LIMIT
        - REQUEST_DENIED
        - UNKNOWN_ERROR
        - ZERO_RESULTS
    ErrorResponse:
      type: object
      title: Error Response
      description: 'In the case of an error, a standard format error response body will be returned and the HTTP status code will be set to an error status. The response contains an object with a single error object.'
      required:
        - error
      properties:
        error:
          description: An error return by the server.
          $ref: '#/components/schemas/ErrorObject'
      example:
        error:
          code: 400
          message: API key not valid. Please pass a valid API key.
          errors:
            - message: API key not valid. Please pass a valid API key.
              domain: global
              reason: badRequest
          status: INVALID_ARGUMENT
    ErrorObject:
      type: object
      title: Error Object
      required:
        - code
        - message
        - errors
      properties:
        code:
          description: This is the same as the HTTP status of the response.
          type: number
        message:
          description: A short description of the error.
          type: string
        errors:
          description: A list of errors which occurred. Each error contains an identifier for the type of error and a short description.
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetail'
    ErrorDetail:
      type: object
      title: Error Detail
      required:
        - reason
        - message
      properties:
        message:
          description: A short description of the error.
          type: string
        reason:
          type: string
          description: A reason for the error.
          enum:
            - badRequest
            - dailyLimitExceeded
            - invalid
            - keyInvalid
            - notFound
            - parseError
            - userRateLimitExceeded
        domain:
          type: string
          description: The domain in which the error occurred.
          enum:
            - global
            - geolocation
            - usageLimits
      example:
        message: API key not valid. Please pass a valid API key.
        domain: global
        reason: badRequest
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: key
security:
  - ApiKeyAuth: []
tags:
  - name: Elevation API
    description: 'The Elevation API provides a simple interface to query locations on the earth for elevation data. Additionally, you may request sampled elevation data along paths, allowing you to calculate elevation changes along routes.'
    externalDocs:
      url: 'https://developers.google.com/maps/documentation/elevation/overview'
  - name: Geocoding API
    description: The Geocoding API is a service that provides geocoding and reverse geocoding of addresses.
    externalDocs:
      url: 'https://developers.google.com/maps/documentation/geocoding/overview'
  - name: Geolocation API
    description: The Geolocation API returns a location and accuracy radius based on information about cell towers and WiFi nodes that the mobile client can detect.
    externalDocs:
      url: 'https://developers.google.com/maps/documentation/geolocation/overview'
  - name: Roads API
    description: 'The Roads API identifies the roads a vehicle was traveling along and provides additional metadata about those roads, such as speed limits.'
    externalDocs:
      url: 'https://developers.google.com/maps/documentation/roads/overview'
  - name: Time Zone API
    description: 'The Time Zone API provides a simple interface to request the time zone for locations on the surface of the earth, as well as the time offset from UTC for each of those locations.'
    externalDocs:
      url: 'https://developers.google.com/maps/documentation/timezone/overview'
Get OpenAPI Specification

Start coding with our client libraries

Client libraries make developing with the Google Maps web service APIs easier by providing simple, native implementations of common tasks, such as authentication, request throttling and automatic retry. The Elevation API is available in the Java Client, Python Client, Go Client and Node.js Client for Google Maps Services.

Authentication, quotas, pricing, and policies

Authentication

To use the Elevation API, you must first enable the API and obtain the proper authentication credentials. For more information, see Get Started with Google Maps Platform.

Quotas and pricing

Review the usage and billing page for details on the quotas and pricing set for the Elevation API.

Policies

Use of the Elevation API must be in accordance with the API policies.

Learn more

There’s more you can do with the Elevation API, like requesting elevation data from multiple locations and creating elevation charts. See the Elevation API developer guide for more examples and other details.

The Elevation API developer guide is intended for website and mobile developers who want to use elevation data within maps provided by one of the Google Maps Platform APIs. It provides an introduction to using the API and reference material on the available parameters.