先决条件 - Amazon Location Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

先决条件

在开始计算路线之前,请按照先决条件执行以下步骤:

创建路由计算器资源

计算路由之前,请在您的 AWS 账户中创建路由计算器资源。

创建路由计算器资源时,可以从可用的数据提供程序中进行选择:

  1. Esri——有关 Esri 在您感兴趣区域中的覆盖范围的更多信息,请参阅有关街道网络和交通覆盖范围的 Esri 详细信息

  2. HERE Technologies——有关 HERE 在您感兴趣区域中的覆盖范围的更多信息,请参阅 HERE 汽车的路由覆盖范围HERE 卡车的路由覆盖范围

  3. Grab——有关 Grab 覆盖范围的更多信息,请参阅 覆盖的国家/地区和区域

注意

如果您的应用程序正在跟踪或路由您在企业中使用的资产,例如运载车辆或员工,则不得使用 Esri 作为地理位置提供程序。有关更多详细信息,请参阅 AWS 服务条款的第 82 节。

您可以使用 Amazon Location Service 控制台、AWS CLI 或 Amazon Location API 完成此操作。

Console

使用 Amazon Location 控制台创建路由计算器资源

  1. 打开 Amazon Location 控制台:https://console.aws.amazon.com/location/

  2. 在左侧导航窗格中,选择路由计算器

  3. 选择创建路由计算器

  4. 填写以下选框:

    • 名称——输入路由计算器资源的名称。例如,ExampleCalculator。最多 100 个字符。有效条目包括:字母数字字符、连字符、句号和下划线。

    • 描述——输入可选描述。

  5. 对于数据提供程序,请选择要用作路由计算器的数据提供程序

  6. (可选)在 Tags (标签) 下,输入标签 Key (键)Value (值)。这会为您的新路由计算器资源添加标签。有关更多信息,请参阅标记资源

  7. 选择创建路由计算器

API

使用 Amazon Location API 创建路由计算器资源

使用 Amazon Location 地点 API 中的 CreateRouteCalculator 操作。

以下示例是ExampleCalculator使用数据提供程序 Esri 创建名为的路径计算器资源的 API 请求。

POST /routes/v0/calculators Content-type: application/json { "CalculatorName": "ExampleCalculator", "DataSource": "Esri", "Description": "string", "Tags": { "Tag1" : "Value1" } }
AWS CLI

使用 AWS CLI 命令创建路由计算器资源

使用 create-route-calculator 命令。

以下示例ExampleCalculator使用 Esri 作为数据提供器创建名为的路径计算器资源。

aws location \ create-route-calculator \ --calculator-name "ExampleCalculator" \ --data-source "Esri" \ --tags Tag1=Value1
注意

计费取决于您的使用情况。您可能会因为使用其他 AWS 服务而产生费用。想要了解更多信息,请参阅 Amazon Location Service 定价

对您的请求进行身份验证

创建路由计算器资源并准备好开始在应用程序中构建位置功能后,请选择如何对请求进行身份验证:

  • 要探索访问服务的方式,请参阅 Accessing Amazon Location Service

  • 如果您的网站有匿名用户,则可能需要使用 API 密钥或 Amazon Cognito。

    示例

    以下示例演示如何使用 API 密钥进行授权、使用 AWS JavaScript SDK v3 和亚马逊地点身份验证帮助程序

    import { LocationClient, CalculateRouteCommand } from "@aws-sdk/client-location"; import { withAPIKey } from "@aws/amazon-location-utilities-auth-helper"; const apiKey = "v1.public.your-api-key-value"; // API key // Create an authentication helper instance using an API key const authHelper = await withAPIKey(apiKey); const client = new LocationClient({ region: "<region>", // region containing Cognito pool ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const input = { CalculatorName: "ExampleCalculator", DeparturePosition: [-123.4567, 45.6789], DestinationPosition: [-123.123, 45.234], }; const command = new CalculateRouteCommand(input); const response = await client.send(command);