使用 Amazon 位置进行反向地理编码
反向地理编码是将一组坐标转换为有意义的文本(例如地址、区域、公司名称或兴趣点)的过程。您可以使用位置索引资源提交反向地理编码请求,并整合从反向地理编码中检索的数据,以便在地图上显示适用于 Web 或移动应用程序的数据。
本部分将指导您如何发送简单的反向地理编码请求。
反向地理编码
您可以提交一个简单的请求,对一组坐标进行反向地理编码,然后使用 SearchPlaceIndexForPosition
操作将其转换为有意义的地址、兴趣点或没有地址的大致位置。简单请求包含以下必需参数:
要指定每页的最大结果数,请添加以下可选参数:
如果要为查询结果指定首选语言,请使用以下可选参数:
如果 Language
未指定,或者结果不支持指定的语言,则将使用该结果的合作伙伴的默认语言。
您可以使用 AWS CLI 或 Amazon Location API。
- API
-
以下示例是一个 SearchPlaceIndexForPosition
请求,在位置索引资源 ExamplePlaceIndex
中搜索位置附近有意义的地址、兴趣点或大致位置 [122.3394
,47.6159
]。
POST /places/v0/indexes/ExamplePlaceIndex
/search/position
Content-type: application/json
{
"Position": [-122.3394
,47.6159
],
"MaxResults": 5,
"Language": "de"
}
- AWS CLI
-
以下示例是一个在位置索引资源 ExamplePlaceIndex
中搜索位置 [122.3394
,47.6159
] 附近有意义的地址、兴趣点或大致位置的 search-place-index-for-position
命令。
aws location \
search-place-index-for-position \
--index-name ExamplePlaceIndex
\
--position -122.3394
47.6159
\
--max-results 5 \
--language de
响应示例
以下是从 Amazon Location 地点 API 调用 SearchPlaceIndexForPosition
操作时的响应示例。结果将返回相关地点和请求摘要。根据选择 Esri 或 Here 作为合作伙伴,将显示两个回复。
- Example request
-
POST /places/v0/indexes/ExamplePlaceIndex/search/position
Content-type: application/json
{
"Position": [-122.3394,47.6159],
"MaxResults": 1
}
- Example response (Esri)
-
{
"Results": [
{
"Place": {
"AddressNumber": "2111",
"Country": "USA",
"Geometry": {
"Point": [
-122.33937999999995,
47.61591000000004
]
},
"Interpolated": false,
"Label": "The Spheres, 2111 7th Ave, Seattle, WA, 98121, USA",
"Municipality": "Seattle",
"Neighborhood": "Belltown",
"PostalCode": "98121",
"Region": "Washington",
"SubRegion": "King County"
},
"Distance": 1.8685861313438727
}
],
"Summary": {
"DataSource": "Esri",
"MaxResults": 1,
"Position": [
-122.3394,
47.6159
]
}
}
- Example response (HERE)
-
{
"Summary": {
"Position": [
-122.3394,
47.6159
],
"MaxResults": 1,
"DataSource": "Here"
},
"Results": [
{
"Place": {
"Label": "2111 7th Ave, Seattle, WA 98121-5114, United States",
"Geometry": {
"Point": [
-122.33938,
47.61591
]
},
"AddressNumber": "2111",
"Street": "7th Ave",
"Neighborhood": "Belltown",
"Municipality": "Seattle",
"SubRegion": "King",
"Region": "Washington",
"Country": "USA",
"PostalCode": "98121-5114",
"Interpolated": false,
"TimeZone": {
"Name": "America/Los_Angeles",
"Offset": -28800
}
},
"PlaceId": "AQAAAIAADsn2T3KdrRWeaXLeVEyjNx_JfeTsMB0NVCEAnAZoJ-o3nqdlJZAdgcT2oWi1w9pS4wXXOk3O1vsKlGsPyHjV4EJxsu289i3hVO_BUPgP7SFoWAi8BW2v7LvAjQ5NfUPy7a1v9ajT3feIqcUZszWSTqKbJHFYvQqW7wdqhpQq3Wy-et39ZQDWSPLZUzgcjN-6VD2gyKkH0Po7gSm8YSJNSQ",
"Distance": 1.868586125090601
}
]
}