Вынести за пределы карты кастомный поиск для яндекс карты
Делаю форму заявки для сайта по доставке еды. Нужно сделать аналогично как у сайта ДоДо Пицца. Я почти все сделал, при вводе в input появляются подсказки, но не появляется список найденных вариантов адресов. Например, я вводу для города Москва в поиск "Арбат", я выбираю в подсказке "Москва, улица Арбат", но родной поиска карты выдает дополнительный список результата поиска: "Улица Арбат" и "улица Новый Арбат". Вот добавить такой список для своего кастомного поля поиска не знаю как.
<input type="text" id="suggest" name="address" placeholder="город, улица, дом" autocomplete="off">
<div id="map-delivery"></div>
// JS
ymaps.ready(init);
function init() {
const searchInput = document.getElementById("#suggest");
const center = [55.884216, 37.689635];
// Создание карты
let myMap = new ymaps.Map('map-delivery', {
center,
zoom: 10,
controls: ['geolocationControl']
});
// Добавление поля поиска на карту
let searchControl = new ymaps.control.SearchControl({
options: {
noPlacemark: true,
placeholderContent: 'Введите адрес или место',
provider: 'yandex#search',
}
});
myMap.controls.add(searchControl);
// Стилизация метки для результата поиска
const deliveryPoint = new ymaps.GeoObject({
geometry: {type: 'Point'},
properties: {iconCaption: 'Адрес'}
}, {
preset: 'islands#blackDotIconWithCaption',
draggable: true,
iconCaptionMaxWidth: '215'
});
myMap.geoObjects.add(deliveryPoint);
// Функция поиска: взять текст адреса из кастомного поиска, вставить в родной поиск карты, найти адрес
function search () {
let request = searchInput.value;
searchControl.search(request);
};
// Добавление подсказок для кастомного поиска
const suggestView = new ymaps.SuggestView('suggest');
suggestView.events.add('select', search);
}
На скрине показан выпадающий список результата поиска (не подсказки), который мне как раз нужно реализовать для кастомного поля поиска адреса.
Ответы (1 шт):
Ошибка при объявлении константы searchInput. Уберите решётку из строкового значения "#suggest", чтобы скрипт знал, откуда брать value:
const searchInput = document.getElementById("suggest");