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?