impwx
@impwx
Разработчик

Как стилизовать поле поиска в yandex maps api?

В API Yandex Maps есть компонент ymaps.control.SearchControl. Нужно немного поменять его внешний вид - шрифт, цвет задника, отступы. При этом хотелось бы не потерять существующий функционал (подсказка при вводе, поиск по нажатию на Enter).

Подозреваю, что нужно менять свойство formLayout, но какие в нем доступны аргументы и как переиспользовать выпадающий список подсказок - не понятно.

Есть ли где-либо пример, как это делается?
  • Вопрос задан
  • 1584 просмотра
Решения вопроса 1
impwx
@impwx Автор вопроса
Разработчик
Придумал, как сделать. Возможно, кому-то пригодится.

1. Верстаем форму так, как она должна выглядеть.
2. Создаем шаблон с помощью ymaps.templateLayoutFactory.createClass.
3. В методе build подписываемся на событие submit у формы, в обработчике делаем следующее:
searchCallback: function(e) {
	e.preventDefault();

	var ctrl = this.getData().control;
	ctrl.search($('#search-field').val());
}

4. Там же создаем ymaps.SuggestView, передаем ему id поля поиска (без решетки).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы