ЗДЕСЬ API автозаполнения: ужасно неточные результаты, игнорирует номера домов - PullRequest
0 голосов
/ 10 ноября 2018

Получение действительно неточных результатов с помощью API автозаполнения.

Пример: Поиск "2215 E 2" в США с бесконечной широтой и долготой в нескольких кварталах от места:

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"

Похоже, ЗДЕСЬ API полностью игнорирует номер дома во многих случаях. Но по какой-то причине при поиске того же с помощью мобильного приложения ЗДЕСЬ я получаю правильные результаты. Таким образом, должно быть что-то еще, что не указано в документации API.

Логически API должен сначала возвращать точное совпадение строк, а затем частичные / нечеткие результаты.

Существуют ли дополнительные операторы поиска, которые необходимо использовать в строке запроса?

Как получить точное совпадение строки на частичном адресе, как в приложении HERE?

1 Ответ

0 голосов
/ 10 ноября 2018

API автозаполнения пытается получить совпадения даже для одной буквы. Так как вы указали в запросе прокси-параметр, вы явно указываете api, что результаты, которые ближе к нему, более важны для вас. Вот почему возвращаемые результаты упорядочены в соответствии с расстоянием от вашего прокса. Вы можете увидеть расстояние, отображаемое в вашем ответе. Удаление прокси упорядочит результаты в соответствии с наиболее подходящим соответствием.

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
...