Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Яндекс карты, как получить строку поиска в переменную? (https://javascript.ru/forum/misc/83860-yandeks-karty-kak-poluchit-stroku-poiska-v-peremennuyu.html)

Андрей7897 06.04.2022 15:49

Яндекс карты, как получить строку поиска в переменную?
 
Я получаю координаты найденной точки в переменную.
Мне еще необходимо получить строку поиска с адресом в переменную.
ymaps.ready(init);
function init(){
var myMap = new ymaps.Map("map", {
    center: [55.764094, 37.617617],
    zoom: 11,
    controls: ['fullscreenControl', 'typeSelector']
      }, {
        searchControlProvider: 'yandex#map'
    });
    var searchControl = new ymaps.control.SearchControl({
        options: {
            fitMaxWidth: true,
            maxWidth: [660, 660, 660]
        }
   });
myMap.controls.add(searchControl);

        // Подписка на событие выбора результата поиска.
        searchControl.events.add('resultselect', function (e) {
        // Получает массив результатов.
        var results = searchControl.getResultsArray();
        // Индекс выбранного объекта.
        var selected = e.get('index');
        // Получает координаты выбранного объекта.
        var point = results[selected].geometry.getCoordinates();
        alert(point);
        });
}

Nexus 06.04.2022 19:14

Смотрите документацию api, она у Yandex.map превосходная:
https://yandex.ru/dev/maps/jsapi/doc...eque stString

Андрей7897 06.04.2022 20:03

Именно после чтения документации апи решился обратиться на форум, так как не смог разобраться.

Nexus 06.04.2022 23:34

Андрей7897, это печально.

ymaps.ready(function () {
    var myMap = new ymaps.Map("map", {
        center: [55.764094, 37.617617],
        zoom: 11,
        controls: ['fullscreenControl', 'typeSelector']
    }, {
        searchControlProvider: 'yandex#map'
    });
    
    var searchControl = new ymaps.control.SearchControl({
        options: {
            fitMaxWidth: true,
            maxWidth: [660, 660, 660]
        }
    });
    myMap.controls.add(searchControl);

    searchControl.events.add('resultselect', function(e) {
        var searchRequestString = searchControl.getRequestString();// получить строку запроса
        alert(searchRequestString);
        
        var results = searchControl.getResultsArray();
        var selected = e.get('index');
        var point = results[selected].geometry.getCoordinates();
        alert(point);
    });
});

Андрей7897 08.04.2022 06:46

Спасибо за то, что вы помогаете.


Часовой пояс GMT +3, время: 23:25.