此演示展示了如何使用 Directions API 获取从一个位置到另一个位置的一组驾车路线。您可以免费运行此演示。单独运行此演示版不会超出您的每月配额。
如需使用 Directions API,请依次点击以下标签页,完成所需的设置步骤:
第 1 步
控制台
-
在 Google Cloud 控制台中,打开项目选择器页面,点击创建项目以开始创建新的 Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。 确认您的项目已启用结算功能。
Google Cloud 提供免费试用。试用期将在 90 天后或者账号费用累积达到 300 美元时(以先到者为准)结束。您随时可以取消试用。Google Maps Platform 每月定期提供 200 美元的赠金。如需了解详情,请参阅结算账号赠金和结算。
Cloud SDK
gcloud projects create "PROJECT"
您可以详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
第 2 步
如要使用 Google Maps Platform,您必须启用计划用于项目的 API 或 SDK。
控制台
Cloud SDK
gcloud services enable \ --project "PROJECT" \ "directions-backend.googleapis.com"
您可以详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
第 3 步
此步骤仅包含 API 密钥的创建流程。如要在生产环境中使用 API 密钥,强烈建议您为相应密钥设置限制。如需了解详情,请参阅相应产品的使用 API 密钥页面。
API 密钥是唯一标识符,用于对与您的项目相关联的请求进行身份验证,以便计算用量和执行结算。您必须至少有一个与您项目相关联的 API 密钥。
如需创建 API 密钥,请执行以下操作:
控制台
-
前往 Google Maps Platform > 凭据页面。
-
在凭据页面上,依次点击创建凭据 > API 密钥。
已创建的 API 密钥对话框会显示您新创建的 API 密钥。 -
点击关闭。
新的 API 密钥即会列在凭据页面的 API 密钥下。
(在生产环境中使用 API 密钥之前,请务必对 API 密钥设置限制。)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:
获取路线
如需以 JSON 格式接收从迪士尼乐园到好莱坞环球影城的驾车路线,请将网址输入您的网络浏览器,并将 YOUR_API_KEY 替换为您的 API 密钥:
https://maps.googleapis.com/maps/api/directions/json?origin=Disneyland&destination=Universal+Studios+Hollywood&key=YOUR_API_KEY
您应该会收到以下 JSON 响应:
{ "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" }
恭喜!您已成功设置并调用 Directions API 以接收路线。
清理
您可以删除 Google Cloud 项目,以停止对该项目中使用的所有资源计费。
- 在 Google Cloud 控制台中,前往管理资源页面:
- 如果您打算删除的项目已附加到某个组织,请选择并展开页面顶部的组织列表。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关停以删除项目。
后续步骤
请先设置 Google Cloud 项目,然后开始使用 Directions API 进行开发:
如需查看构建 Directions API HTTP 请求时需要使用的所有参数的列表,请参阅:
了解如何使用我们的客户端库编写代码。这些库可以简单、原生的方式实现身份验证、请求限制和自动重试等常见任务。Directions API 可在 适用于 Google 地图服务的 Java 客户端、Python 客户端、Go 客户端和 Node.js 客户端中使用。