先决条件 - Amazon Location Service

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

先决条件

在开始进行地理编码、反向地理编码或搜索地点之前,请按照先决条件进行操作:

创建地点索引资源

首先在您的 AWS 账户中创建地点索引资源。

创建地点索引资源时,您可以从支持地理编码、反向地理编码和搜索查询的数据提供程序中进行选择:

  1. Esri——有关 Esri 在您感兴趣区域中的覆盖范围的更多信息,请参阅 Esri 文档中的 Esri 地理编码覆盖范围的更多信息。

  2. HERE Technologies——有关 HERE 在您感兴趣的区域覆盖范围的更多信息,请参阅 HERE 文档中的 HERE 地理编码覆盖范围

  3. Grab——Grab 仅为东南亚地区提供数据。有关 Grab 的覆盖范围的更多信息,请参阅本指南中的 覆盖的国家/地区和区域

您可以使用 Amazon Location Service 控制台 AWS CLI、或亚马逊定位 API 来执行此操作。

Console

使用 Amazon Location Service 控制台创建地点索引资源

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

  2. 在左侧导航窗格中,选择地点索引

  3. 选择创建地点索引

  4. 填写以下选框:

    • 名称——输入地点索引资源的名称。例如,ExamplePlaceIndex。最多 100 个字符。有效条目包括:字母数字字符、连字符、句号和下划线。

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

  5. 数据提供程序下,选择要与您的位置索引资源配合使用的可用数据提供程序

    注意

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

  6. 数据存储选项下,指定是否要存储来自位置索引资源的搜索结果。

  7. (可选)在 Tags (标签) 下,输入标签 Key (键)Value (值)。这会为您的新地点索引资源添加标签。有关更多信息,请参阅标记资源

  8. 选择创建地点索引

API

使用 Amazon Location API 创建地点索引资源

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

以下示例是ExamplePlaceIndex使用数据提供程序 Esri 创建名为的地点索引资源的 API 请求。

POST /places/v0/indexes Content-type: application/json { "DataSource": "Esri", "DataSourceConfiguration": { "IntendedUse": "SingleUse" }, "Description": "string", "IndexName": "ExamplePlaceIndex", "Tags": { "Tag1" : "Value1" } }
AWS CLI

使用 AWS CLI 命令创建地点索引资源

使用 create-place-index 命令。

以下示例ExamplePlaceIndex使用 Esri 作为数据提供器创建名为的地点索引资源。

aws location \ create-place-index \ --data-source "Esri" \ --description "Example place index" \ --index-name "ExamplePlaceIndex" \ --tags Tag1=Value1
注意

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

对您的请求进行身份验证

创建地点索引资源并准备开始在应用程序中构建位置功能后,请选择如何对请求进行身份验证:

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

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

    示例

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

    import { LocationClient, SearchPlaceIndexForTextCommand } 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 = { IndexName: "ExamplePlaceIndex", Text: "Anyplace", BiasPosition: [-123.4567, 45.6789] }; const command = new SearchPlaceIndexForTextCommand(input); const response = await client.send(command);