Page Summary
-
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.
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
-
In the Google Cloud console, on the project selector page, click Create Project to begin creating a new Cloud project.
-
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
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
-
Go to the Google Maps Platform > Keys & Credentials page.
- If prompted, select your project.
-
Do one of the following:
-
Create a new key:
- Click Create credentials > API key.
- In the Create API key panel, open the Select API restrictions list.
- Clear any APIs that this key doesn't need, and make sure Directions API stays selected.
- Click Create. The panel displays your new API key.
-
Use an existing key:
- Click the name of the key.
- In the Select API restrictions list, select Directions API.
- Click Save.
Selecting an API here doesn't enable it. Make sure Directions API is enabled on its API Library page.
-
- 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
--appendflag 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 thenamefield: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_KEYYou 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.
- In the Google Cloud console, go to the Manage resources page:
- 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.
- In the project list, select the project that you want to delete and click Delete.
- In the dialog, type the project ID and click Shut down to delete the project.
Next steps
Start developing with the Directions API (Legacy) by setting up your Google Cloud project:
For a list of all parameters when building your Directions API (Legacy) HTTP request:
Learn how to code with our client libraries that provide simple, native implementations of common tasks such as authentication, request throttling and automatic retry. The Directions API (Legacy) is available in the Java Client, Python Client, Go Client and Node.js Client for Google Maps Services.