我需要这里的map API来自动完成地址。我正在尝试使用Place suggestion 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"
]
}
如果在区域内找不到匹配项,而不是从边界框中获取结果,我宁愿得不到任何结果。
我的问题:我如何实际限制搜索区域?另一个问题是如何过滤掉不是地址的结果?
答案 0 :(得分:0)
您是否可以使用地理编码器API?这是我用于我的"自动完成建议"输入字段,您可以将建议结果限制到边界框并指定确切的状态。它还会告诉您每个结果的位置类型以及更详细的信息。
例如:
我没有使用过地点api,但听起来地理编码器也符合你的要求。
答案 1 :(得分:0)
似乎尚无法将Places Suggest API结果限制为给定国家/地区。您可以尝试使用显式位置上下文(?in=[your-country-polygon]
),但之后您不能使用隐式位置上下文(例如X-Map-Viewport
标题)来关注较小的边界框 - 您将获得遍布全国的结果
如果您可以在没有“地点”的情况下居住,并且只需要街道,则可以使用地理编码API - 您可以根据国家/地区软键或硬地过滤结果。
地方和地理编码似乎是两个截然不同的软件,两个API之间几乎没有凝聚力