The Directions API (Legacy) demo

  • This demo guides you through using the Directions API to obtain driving directions between two locations, without exceeding your monthly quota.

  • Setup involves creating a Google Cloud project, enabling the Directions API, and generating an API key.

  • Directions are retrieved by making a request to the API with your API key, specifying the origin and destination.

  • After completing the demo, you can delete your Google Cloud project to prevent further billing.

  • Explore further development by setting up your Google Cloud project, reviewing API parameters, and utilizing client libraries for streamlined coding.

European Economic Area (EEA) developers

This demo shows you how to use the Directions API (Legacy) to get a set of driving directions from one location to another. You may run this demo at no charge. Running this demo alone does not exceed your monthly quota.

Before you begin

To use the Directions API (Legacy), complete the following required setup steps:

Step 1: Set up your project

Console

  1. In the Google Cloud console, on the project selector page, click Create Project to begin creating a new Cloud project.

    Go to the project selector page

  2. Make sure that billing is enabled for your Cloud project. Confirm that billing is enabled for your project.

    Google Cloud offers a $0.00 charge trial. The trial expires at the end of 90 days or after the account has accrued $300 worth of charges, whichever comes first. Cancel anytime. For more information, see Billing account credits and Billing.

Cloud SDK

gcloud projects create "PROJECT"

Read more about the Google Cloud SDK, Cloud SDK installation, and the following commands:

Step 2: Enable APIs or SDKs

To use Google Maps Platform, you must enable the APIs or SDKs you plan to use with your project.

Console

Enable the Directions API (Legacy)

Cloud SDK

gcloud services enable \
    --project "PROJECT" \
    "directions-backend.googleapis.com"

Read more about the Google Cloud SDK, Cloud SDK installation, and the following commands:

Step 3: Get an API key

This step only goes through the API key creation process. If you use your API key in production, we strongly recommend that you restrict your API key. You can find more information in the product-specific Using API Keys page.

The API key is a unique identifier that authenticates requests associated with your project for usage and billing purposes. You must have at least one API key associated with your project. To create a new key or add an API or SDK to an existing key, follow these instructions.

Console

  1. Go to the Google Maps Platform > Keys & Credentials page.

    Go to the Keys & Credentials page

  2. If prompted, select your project.
  3. Do one of the following:

    • Create a new key:

      1. Click Create credentials > API key.
      2. In the Create API key panel, open the Select API restrictions list.
      3. Clear any APIs that this key doesn't need, and make sure Directions API stays selected.
      4. Click Create. The panel displays your new API key.
    • Use an existing key:

      1. Click the name of the key.
      2. In the Select API restrictions list, select Directions API.
      3. Click Save.

    Selecting an API here doesn't enable it. Make sure Directions API is enabled on its API Library page.

  4. To see the key string later, go to the Keys & Credentials page and click Show key for the key.

If the console looks different from these steps, see Create an API key and Add API restrictions in the Google Cloud documentation.

Cloud SDK

Replace PROJECT_ID with your project ID in the following commands.

  • Create a new key: Run the following command, and replace DISPLAY_NAME with a name for the key.

    gcloud services api-keys create \
        --project="PROJECT_ID" \
        --display-name="DISPLAY_NAME" \
        --api-target=service=directions-backend.googleapis.com

    Read more about the Google Cloud SDK, Cloud SDK installation, and the following commands:

  • Use an existing key: Run the following command, and replace KEY_ID with the ID of the key. The --append flag keeps the APIs that the key already allows. Without it, the command replaces them.

    gcloud services api-keys update KEY_ID \
        --project="PROJECT_ID" \
        --append \
        --api-target=service=directions-backend.googleapis.com

    Read more about the Google Cloud SDK, Cloud SDK installation, and the following commands:

    The key ID isn't the key string or display name. To find it, run gcloud services api-keys list --project="PROJECT_ID". The ID is the last part of the name field: projects/PROJECT_NUMBER/locations/global/keys/KEY_ID.

To see the key string, run gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID".

Getting directions

To receive driving directions from Disneyland to Universal Studios, Hollywood in JSON format, enter the URL into your web browser, and replace YOUR_API_KEY with your API key:

https://maps.googleapis.com/maps/api/directions/json?origin=Disneyland&destination=Universal+Studios+Hollywood&key=YOUR_API_KEY

You should receive the following JSON response:

    {
       "geocoded_waypoints" : [
          {
             "geocoder_status" : "OK",
             "place_id" : "ChIJRVY_etDX3IARGYLVpoq7f68",
             "types" : [
                "bus_station",
                "transit_station",
                "point_of_interest",
                "establishment"
             ]
          },
          {
             "geocoder_status" : "OK",
             "partial_match" : true,
             "place_id" : "ChIJp2Mn4E2-woARQS2FILlxUzk",
             "types" : [ "route" ]
          }
       ],
       "routes" : [
          {
             "bounds" : {
                "northeast" : {
                   "lat" : 34.1330949,
                   "lng" : -117.9143879
                },
                "southwest" : {
                   "lat" : 33.8068768,
                   "lng" : -118.3527671
                }
             },
             "copyrights" : "Map data ©2016 Google",
             "legs" : [
                {
                   "distance" : {
                      "text" : "35.9 mi",
                      "value" : 57824
                   },
                   "duration" : {
                      "text" : "51 mins",
                      "value" : 3062
                   },
                   "end_address" : "Universal Studios Blvd, Los Angeles, CA 90068, USA",
                   "end_location" : {
                      "lat" : 34.1330949,
                      "lng" : -118.3524442
                   },
                   "start_address" : "Disneyland (Harbor Blvd.), S Harbor Blvd, Anaheim, CA 92802, USA",
                   "start_location" : {
                      "lat" : 33.8098177,
                      "lng" : -117.9154353
                   },

      ... Additional results shortened in this example[] ...


             "overview_polyline" : {
                "points" : "knjmEnjunUbKCfEA?_@]@kMBeE@qIIoF@wH@eFFk@WOUI_@?u@j@k@`@EXLTZHh@Y`AgApAaCrCUd@cDpDuAtAoApA{YlZiBdBaIhGkFrDeCtBuFxFmIdJmOjPaChDeBlDiAdD}ApGcDxU}@hEmAxD}[tt@yNb\\yBdEqFnJqB~DeFxMgK~VsMr[uKzVoCxEsEtG}BzCkHhKWh@]t@{AxEcClLkCjLi@`CwBfHaEzJuBdEyEhIaBnCiF|K_Oz\\
                {MdZwAbDaKbUiB|CgCnDkDbEiE|FqBlDsLdXqQra@kX|m@aF|KcHtLm@pAaE~JcTxh@w\\`v@gQv`@}F`MqK`PeGzIyGfJiG~GeLhLgIpIcE~FsDrHcFfLqDzH{CxEwAbBgC|B}F|DiQzKsbBdeA{k@~\\oc@bWoKjGaEzCoEzEwDxFsUh^wJfOySx[uBnCgCbCoFlDmDvAiCr@eRzDuNxC_EvAiFpCaC|AqGpEwHzFoQnQoTrTqBlCyDnGmCfEmDpDyGzGsIzHuZzYwBpBsC`CqBlAsBbAqCxAoBrAqDdDcNfMgHbHiPtReBtCkD|GqAhBwBzBsG~FoAhAaCbDeBvD_BlEyM``@uBvKiA~DmAlCkA|B}@lBcChHoJnXcB`GoAnIS~CIjFDd]A|QMlD{@jH[vAk@`CoGxRgPzf@aBbHoB~HeMx^eDtJ}BnG{DhJU`@mBzCoCjDaAx@mAnAgCnBmAp@uAj@{Cr@wBPkB@kBSsEW{GV}BEeCWyAWwHs@qH?
                cIHkDXuDn@mCt@mE`BsH|CyAp@}AdAaAtAy@lBg@pCa@jE]fEcBhRq@pJKlCk@hLFrB@lD_@xCeA`DoBxDaHvM_FzImDzFeCpDeC|CkExDiJrHcBtAkDpDwObVuCpFeCdHoIl\\uBjIuClJsEvMyDbMqAhEoDlJ{C|J}FlZuBfLyDlXwB~QkArG_AnDiAxC{G|OgEdLaE`LkBbEwG~KgHnLoEjGgDxCaC`BuJdFkFtCgCnBuClD_HdMqEzHcBpB_C|BuEzCmPlIuE|B_EtDeBhCgAdCw@rCi@|DSfECrCAdCS~Di@jDYhA_AlC{AxCcL`U{GvM_DjFkBzBsB`BqDhBaEfAsTvEmEr@iCr@qDrAiFnCcEzCaE~D_@JmFdGQDwBvCeErEoD|BcFjC}DbEuD~D`@Zr@h@?d@Wr@}@vAgCbEaHfMqA`Cy@dAg@bAO`@gCi@w@W"
             },
             "summary" : "I-5 N and US-101 N",
             "warnings" : [],
             "waypoint_order" : []
          }
       ],
       "status" : "OK"
    }

Congratulations! You've successfully set up and called the Directions API (Legacy) to receive directions.

Cleaning up

You can delete your Google Cloud project to stop billing for all the resources used within that project.

  1. In the Google Cloud console, go to the Manage resources page:

    Go to the Manage resources page

  2. If the project that you plan to delete is attached to an organization, select and expand the organization list at the top of the page.
  3. In the project list, select the project that you want to delete and click Delete.
  4. In the dialog, type the project ID and click Shut down to delete the project.

Next steps