@mx928

Как сделать форму поиска за пределами Яндекс карты?

Подскажите как добавить форму поиска за пределами яндекс карты?

Сама форма добавлена с помощью SuggestView. Подскажите как привязать эту форму к карте?
Чтобы на карте отображались результаты поиска.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
   
    <script src="https://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
   
	<style>
        body, html {
            padding: 0;
            margin: 0;
            width: 100%;
            height: 100%;
        }
        #map {
            width: 100%;
            height: 90%;
        }
    </style>
</head>

<body>

<input type="text" id="suggest"/>

Форма поиска за пределами карты 
<div id="map"></div>

</body>

</html>


var myMap;

ymaps.ready(init);

function init () {
    
    var suggestView = new ymaps.SuggestView('suggest');
    
    myMap = new ymaps.Map('map', {
       
        center: [55.76, 37.64], // Москва
        zoom: 10
    }, {
        searchControlProvider: 'yandex#search'
    });

}
  • Вопрос задан
  • 962 просмотра
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Не так сначала понял. В SuggestView можно указать кастомный элемент для поиска, а так же элементы с подсказками. После того, как пользователь что-то выбрал мы получаем событие с этим текстом. Нам остаётся только геокодировать эту подсказку.
suggestView.events.add('select', function (evt) {
        var q = evt.get('item').value;
        ymaps.geocode(q).then(
            function (result) {
                map.setCenter(result.geoObjects.get(0)#ну и там где-то координаты лежат);
            }
        );
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы