Here Rest API: 如何限制某个区域的建议结果?
Here Rest API: How to limit the suggestion result in an area?
我需要 Here map API 来自动完成地址。我正在尝试使用记录在案的地点建议 API:https://developer.here.com/api-explorer/rest/places-search/search-suggestion
然而 API 的行为让我感到惊讶。我试图通过查询“20”(部分门牌号)在华盛顿地区获得建议:
curl -X GET -H "X-Map-Viewport: -125.0061,45.6674,-120.6775,48.7269" -H "Cache-Control: no-cache" "https://places.demo.api.here.com/places/v1/suggest?q=20&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&size=5"
{
"suggestions": [
"205th Ave KP S, Lakebay, WA 98349, USA",
"Mall 205",
"204th Avenue KP S, Lakebay, WA 98349, USA",
"202nd Avenue KP S, Lakebay, WA 98349, USA",
"McMenamins"
]
}
我觉得这很好。
但令我惊讶的是,当我开始查询“2021”时,它返回给我在墨西哥的地址:
curl -X GET -H "X-Map-Viewport: -125.0061,45.6674,-120.6775,48.7269" -H "Cache-Control: no-cache" "https://places.demo.api.here.com/places/v1/suggest?q=2021&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&size=10"
{
"suggestions": [
"2021 California",
"20218, Aguascalientes, Mexico",
"Taco Bell",
"20219, Aguascalientes, Mexico",
"2021 Restaurant",
"20216, Aguascalientes, Mexico",
"2021 Wireless",
"20210, Aguascalientes, Mexico",
"2021.Interactive, LLC",
"20213, Peñas Blancas, Costa Rica"
]
}
如果在区域内找不到匹配项,我宁愿得不到任何结果,也不愿在边界框外得到结果。
我的问题:我怎样才能真正限制搜索区域?另一个问题是如何过滤掉不是地址的结果?
您可以使用地址解析器 api 吗?这是我用于 "autocomplete suggestion" 输入字段的内容,您可以将建议结果限制在边界框内并指定确切的状态。它还会告诉您每个结果的位置类型,以及更详细的信息。
例如:
api 的地方我没有用过,但听起来地理编码器也能满足你的要求。
似乎还无法将“地点建议”API 结果限制在特定国家/地区。您可以尝试使用显式位置上下文 (?in=[your-country-polygon]
),但随后您不能使用隐式位置上下文(例如 X-Map-Viewport
header)来关注较小的边界框 - 您会得到分散的结果遍布全国。
如果您可以在没有 "places" 的情况下生活,并且只需要街道,您可以使用地理编码 API - 有了它,您可以按国家软或硬过滤结果。
Places 和 Geocoding 似乎是两个截然不同的软件,两者之间几乎没有内聚性 API
我需要 Here map API 来自动完成地址。我正在尝试使用记录在案的地点建议 API:https://developer.here.com/api-explorer/rest/places-search/search-suggestion
然而 API 的行为让我感到惊讶。我试图通过查询“20”(部分门牌号)在华盛顿地区获得建议:
curl -X GET -H "X-Map-Viewport: -125.0061,45.6674,-120.6775,48.7269" -H "Cache-Control: no-cache" "https://places.demo.api.here.com/places/v1/suggest?q=20&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&size=5"
{
"suggestions": [
"205th Ave KP S, Lakebay, WA 98349, USA",
"Mall 205",
"204th Avenue KP S, Lakebay, WA 98349, USA",
"202nd Avenue KP S, Lakebay, WA 98349, USA",
"McMenamins"
]
}
我觉得这很好。
但令我惊讶的是,当我开始查询“2021”时,它返回给我在墨西哥的地址:
curl -X GET -H "X-Map-Viewport: -125.0061,45.6674,-120.6775,48.7269" -H "Cache-Control: no-cache" "https://places.demo.api.here.com/places/v1/suggest?q=2021&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&size=10"
{
"suggestions": [
"2021 California",
"20218, Aguascalientes, Mexico",
"Taco Bell",
"20219, Aguascalientes, Mexico",
"2021 Restaurant",
"20216, Aguascalientes, Mexico",
"2021 Wireless",
"20210, Aguascalientes, Mexico",
"2021.Interactive, LLC",
"20213, Peñas Blancas, Costa Rica"
]
}
如果在区域内找不到匹配项,我宁愿得不到任何结果,也不愿在边界框外得到结果。
我的问题:我怎样才能真正限制搜索区域?另一个问题是如何过滤掉不是地址的结果?
您可以使用地址解析器 api 吗?这是我用于 "autocomplete suggestion" 输入字段的内容,您可以将建议结果限制在边界框内并指定确切的状态。它还会告诉您每个结果的位置类型,以及更详细的信息。
例如:
api 的地方我没有用过,但听起来地理编码器也能满足你的要求。
似乎还无法将“地点建议”API 结果限制在特定国家/地区。您可以尝试使用显式位置上下文 (?in=[your-country-polygon]
),但随后您不能使用隐式位置上下文(例如 X-Map-Viewport
header)来关注较小的边界框 - 您会得到分散的结果遍布全国。
如果您可以在没有 "places" 的情况下生活,并且只需要街道,您可以使用地理编码 API - 有了它,您可以按国家软或硬过滤结果。
Places 和 Geocoding 似乎是两个截然不同的软件,两者之间几乎没有内聚性 API