HERE自动填充API:可怕的结果,忽略房屋号码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HERE自动填充API:可怕的结果,忽略房屋号码相关的知识,希望对你有一定的参考价值。

通过HERE自动完成API获得真正不准确的结果。

示例:在美国搜索“2215 E 2”,接近lat / lon设置距离位置只有一个块:

http://autocomplete.geocoder.api.here.com/6.2/suggest.json?query=2215+e+2&maxresults=50&country=USA&language=en&prox=40.593791,-73.961245&resultType=houseNumber

返回甚至没有'2215'作为门牌号的结果甚至至少部分字符串匹配“2215 E 2” - 这里是一些错误返回结果的示例:

"United States, NY, Brooklyn, 2002 E 2nd St"
"United States, NY, Brooklyn, 2003 E 21st St"
"United States, NY, Brooklyn, 2001 E 22nd St"
"United States, NY, Brooklyn, 2001 E 13th St"
"United States, NY, Brooklyn, 2002 E 8th St"
"United States, NY, Brooklyn, 2001 E 19th St"

看起来HERE API在很多情况下完全忽略了门牌号。但出于某种原因,当使用HERE移动应用程序搜索相同内容时,我得到了正确的结果。因此,必须使用未在API文档中列出的其他内容。

逻辑上,API应首先返回精确的字符串匹配,然后返回部分/模糊结果。

是否需要在查询字符串中使用其他搜索运算符?

如何在HERE应用程序中获取部分地址的精确字符串匹配?

答案

autocomplete api尝试获得匹配,即使是一个字母。由于您在请求中提供了prox paramater,因此您明确告诉api,更接近它的结果对您来说更重要。这就是为什么返回的结果是根据您的prox的距离排序的。您可以看到响应中显示的距离。删除prox将根据最相关的匹配对结果进行排序。

prox - 一种空间滤波器。将焦点设置在由单个地理坐标对和可选的半径(以米为单位)表示的地理区域上,因此此区域内的结果比此区域外的结果更重要。

更新:尝试使用mapview作为您的用例以获得所需的结果。它也在developer.here.com/documentation/geocoder-autocomplete/topics/using-autocomplete.html中提出。

http://autocomplete.geocoder.api.here.com/6.2/suggest.json?query=2215+e+2&maxresults=50&country=USA&language=en&mapview=40.593791,-73.961245,;45.2173875,-73.961245,&resultType=houseNumber&beginHighlight=%3Cb%3E&endHighlight=%3C/b%3E

以上是关于HERE自动填充API:可怕的结果,忽略房屋号码的主要内容,如果未能解决你的问题,请参考以下文章

自动填充第 3 方文本框

如果用户在Google地图自动填充中选择地址,则忽略模糊事件

Chrome 自动填充功能会混淆 kentico bizform 上的电话号码

自动填充的Google API会出现“类型”问题

显示rest api json响应,如使用angular js的文本框自动填充

来自 PHP API 的自动填充地址