设置 Roads API

欧洲经济区 (EEA) 开发者

本文档介绍了开始使用 Roads API 所需执行的步骤。

前提条件

此过程将指导您设置 Google Cloud 账号和启用了结算功能的 Google Cloud 项目。 您还应熟悉使用 Roads API 的收费方式。

  1. 在 Roads API 用量和结算中查看用量的结算和费用。
  2. 验证您是否拥有 Google Cloud 账号。

    登录 Google Cloud 控制台
  3. 验证您是否拥有已启用结算功能的 Google Cloud 项目。

    前往“结算”页面
    1. 选择您的项目以打开结算页面。
    2. 在结算页面上:

      • 如果所选项目已启用结算功能,并且您只有一个结算账号,则系统会打开结算页面。
      • 如果您有多个结算账号,请选择转至关联的结算账号,查看与项目关联的结算账号的相关详情。
      • 如果已存在结算账号,但未与项目关联,系统会提示您将结算账号与项目关联。
      • 如果没有结算账号,或者您想创建新的结算账号,请选择管理结算账号以创建新的结算账号。如需了解详情,请参阅创建新的自助 Cloud Billing 账号。

启用 API

您必须先使用 Google Cloud 控制台或 gcloud 命令在 Google Cloud 项目中启用 Roads API,然后才能使用它。

如需启用 API,请执行以下操作:

控制台

  1. 在 Google Cloud 控制台中打开产品页面:

    启用 Roads API
  2. 点击启用按钮。

gcloud

gcloud services enable \
    --project "PROJECT" \
    "roads.googleapis.com"

详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:

获取用于 Roads API 的 API 密钥

Google Maps Platform 产品要求 API 调用包含 API 密钥,以防止未经授权的使用。

API 密钥是具有唯一性的字母数字字符串,可将您的 Cloud Billing 账号和 Google Cloud 项目与您的应用向 Google Maps Platform API 或 SDK 发出的请求相关联。如需创建新密钥或向现有密钥添加 API 或 SDK,请按照以下说明操作。

控制台

  1. 前往 Google Maps Platform > 密钥和凭证页面。

    前往“密钥和凭证”页面

  2. 如果出现提示,请选择您的项目。
  3. 执行以下其中一项操作:

    • 创建新密钥:

      1. 点击创建凭据 > API 密钥。
      2. 在创建 API 密钥面板中,打开选择 API 限制列表。
      3. 清除此密钥不需要的所有 API,并确保 Roads API 保持选中状态。
      4. 点击创建。该面板会显示您的新 API 密钥。
    • 使用现有密钥:

      1. 点击密钥的名称。
      2. 在选择 API 限制列表中,选择 Roads API。
      3. 点击保存。

    在此处选择 API 并不会启用它。确保在其 API 库页面上启用了 Roads API。

  4. 如需稍后查看密钥字符串,请前往密钥和凭证页面,然后点击相应密钥的显示密钥。

如果控制台与这些步骤不同,请参阅 Google Cloud 文档中的创建 API 密钥和添加 API 限制。

gcloud

在以下命令中,将 PROJECT_ID 替换为您的项目 ID。

  • 创建新密钥:运行以下命令,并将 DISPLAY_NAME 替换为密钥的名称。

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

    详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:

  • 使用现有密钥:运行以下命令,并将 KEY_ID 替换为密钥的 ID。--append 标志会保留密钥已允许的 API。如果不使用此参数,该命令会替换这些标签。

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

    详细了解 Google Cloud SDK、Cloud SDK 安装和以下命令:

    键 ID 不是键字符串或显示名称。如需查找该 ID,请运行 gcloud services api-keys list --project="PROJECT_ID"。 该 ID 是 name 字段的最后一部分:projects/PROJECT_NUMBER/locations/global/keys/KEY_ID。

如需查看密钥字符串,请运行 gcloud services api-keys get-key-string KEY_ID --project="PROJECT_ID"。

发出 API 请求

发出 Roads API 请求,以返回一个 JSON 响应,其中包含将指定点吸附到道路几何图形后的结果。您必须在每个请求中包含 API 密钥的字母数字字符串,并对包含 API 密钥的请求使用 HTTPS。

  1. 点击下方代码中的 API_KEY,插入密钥的字母数字字符串:

    curl -L -X GET 'https://roads.googleapis.com/v1/snapToRoads?path=-35.27801%2C149.12958%7C-35.28032%2C149.12907%7C-35.28099%2C149.12929%7C-35.28144%2C149.12984%7C-35.28194%2C149.13003%7C-35.28282%2C149.12956%7C-35.28302%2C149.12881%7C-35.28473%2C149.12836&interpolate=true&key=YOUR_API_KEY'
    
  2. 点击代码示例中的复制图标 选择复制图标。,复制 curl 命令。
  3. 将该命令粘贴到终端窗口中,然后运行该命令。

响应是一个 JSON 对象,格式如下:

{
  "snappedPoints": [
    {
      "location": {
        "latitude": -35.278004899930188,
        "longitude": 149.129531998742
      },
      "originalIndex": 0,
      "placeId": "ChIJr_xl0GdNFmsRsUtUbW7qABM"
    },
    {
      "location": {
        "latitude": -35.2784195,
        "longitude": 149.12946589999999
      },
      "placeId": "ChIJr_xl0GdNFmsRsUtUbW7qABM"
    },
    ...
    {
      "location": {
        "latitude": -35.284727644851415,
        "longitude": 149.12833853807396
      },
      "originalIndex": 7,
      "placeId": "ChIJtWxAZmpNFmsRlbUCkc6VtnA"
    }
  ]
}

应用 API 密钥限制

Google 强烈建议您限制 API 密钥,仅将其用于需要它们的 API 和应用。限制 API 密钥可防止您的应用收到无正当理由的请求,从而提高应用安全性。API 密钥支持两种类型的限制:

  • API 限制用于指定可以使用 API 密钥调用哪些 SDK 和 API。在您创建密钥时,控制台和 gcloud CLI 要求至少设置一项 API 限制。
  • 应用限制用于指定哪些网站、IP 地址或应用可以使用 API 密钥。

如需详细了解如何应用限制,请参阅限制 API 密钥。

后续步骤

现在,您已启用 Roads API 并成功发出请求,请参阅沿实际道路,详细了解如何使用该 API。