HERE API Autocomplete - адрес вставки не найден. Только печатать

Я использую API автозаполнения HERE API. Когда я вставляю какой-то адрес: «4141 Pingree Rd, Howell, MI 48843, United States», он ничего не находит. Но, если я набираю этот адрес, он найден.

Почему, если я вставляю адрес, он ничего не может найти? только набрав?

Вот https-запрос (без app_code и app_id): https://autocomplete.geocoder.api.here.com/6.2/suggest.json?maxresults=5&country=USA&language=en-US&jsonattributes=1&query=4141%20Pingree%20Rd% 2C% 20Howell% 2C% 20MI% C2% A048843% 2C% 20United%20States & beginHighlight =% 3Cmark%3E & endHighlight =% 3C%2Fmark%3E & jsoncallback = __jsonp1_

Спасибо.

2 ответа

Проблему трудно увидеть, поскольку она возникает из-за неразрывного пробела (%C2%A0), добавленного между двухбуквенным буквенным кодом штата (MI в примере) и почтовым индексом (48843).

С обычным пробелом вы увидите код состояния MI, за которым следует %20 вместо %C2%A0.

С неразрывным пробелом API не находит адрес. Однако он находит его с помощью обычного пробела. Поэтому перед отправкой в ​​API необходимо выполнить некоторую дополнительную очистку строки, например, с помощью цепочки .replace(/\s/g, ' ')на скопированной строке.

Возможно, вы можете использовать обходной путь, обнаружив вставку в JavaScript, а затем вызвать событие «нажатие клавиши» на входе, чтобы оно вывело результаты.

Некоторые идеи:

Обнаружить вставку в поле ввода

Инициировать событие нажатия клавиши/клавиши/клавиши в JS/jQuery?

Другие вопросы по тегам