Живой поиск по Яндекс карте

265
16 февраля 2018, 20:50

Здравствуйте! Я пытаюсь сделать поиск по Яндекс-карте без нажатия кнопки "искать" т.е. при вводе должен осуществляться поисковый запрос. Поведение, которое я хочу реализовать, представлено на странице Яндекс карт: https://yandex.ru/maps

У меня получилось, но возникла проблема: не полностью написанные адреса автоматически исправляются на правильные в поле поиска, что довольно неудобно, если ты печатаешь с мобильного телефона. Чтобы было понятно, о чем я говорю, создал пример в песочнице: http://jsbin.com/biqihiq Попробуйте ввести любой адрес (например, Комсомольский проспект). Полностью набрать его не получится, т.к. адрес будет автоматически исправлен на "правильный". Я хочу, чтобы текст в поле поиска не исправлялся. Как добиться такого поведения? Или лучше реализовать живой поиск по-другому? Как?

Закомментированный кусок кода внизу -- мое решение проблемы: просто при загрузке результатов вручную менять "исправленный" адрес на тот, что был введен. Оно работает, но, по-моему это слишком костыльное решение. По нему тоже есть вопрос: как получить ссылку на элемент input поиска? Как мне кажется обращение к нему через css-селектор -- не самое правильное решение. Как можно грамотно поменять введенное значение в поле поиска? Спасибо!

Answer 1

На Яндекс.Картах это не "живой поиск", а поисковые подсказки - suggest. Просто там сделана кастомная вёрстка подсказок. Поиск происходит так же как в API - по нажатию кнопки "Найти".

Делать настоящие поисковые запросы при частичном вводе плохая практика, во-первых, так очень быстро закончится лимит бесплатного использования, во-вторых, результат поиска всегда будет "исправлен" и отформатирован иначе.

Кстати, по умолчанию в стандартной поисковой строке API включены поисковые подсказки, то есть ничего специально делать не надо.

Подробнее в документации

Пример на поисковые подсказки во внешнем поле ввода

READ ALSO
Вывод случайной статьи в сайдбар? [требует правки]

Вывод случайной статьи в сайдбар? [требует правки]

ПриветствуюКак можно реализовать вывод случайной статьи или картинки в сайдбар( желательно с помощью JS)? Меня интересует не сам код, а идея,...

180
Javascript синхронизация вкладок Tab браузера.

Javascript синхронизация вкладок Tab браузера.

Каким образом можно реализовать синхронизацию вкладок браузера? То есть допустим я открыл 3 вкладки одного и того же сайтаНа одной из них...

185
Добавление элемента предпоследним

Добавление элемента предпоследним

Есть таблица с данными и строка содержащая пустые ячейки (input) для ввода данных от пользователяПосле ввода данных в ячейки, готовая строка...

151
Slick slider проблемы с отображением в аккордионе

Slick slider проблемы с отображением в аккордионе

Сделал скрытый блок, который появляется после клика на его соседний элемент (аккордион), внутри скрытого блока содержится 2 слайдера SlickПроблема...

136