Клуб API Карт

Обращение к метке на карте.

Пост в архиве.

Доброе время суток.

Подскажите пожалуйста. 

У меня есть карта. На ней есть инструмент поиска. Если я в поле поиска вбиваю адрес, то на карте появляется метка этого адреса. 

Я пытаюсь получить метку, которая была сделана на основании поиска. Если я пробую получить эту метку через перебор коллекции геообъектов карты, то получаю нулевой результат. Если я правильна понимаю то эта метка не хранится в данной коллекции. Как ее тогда можно получить?

  myMap.geoObjects.each(function(geoObject)

            {
                alert(geoObject.geometry.getType());
                if (geoObject.geometry.getType() == 'Point')
                {
                 
                }
            });
За ранее спасибо.
7 комментариев

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

Что именно вы хотите сделать?

Я хочу получить координаты метки, которая появилась на карте в результате выполнения поиска, ну и желательно саму эту метку если это возможно.

для чего вы ее хотите найти?

Я в инструменте поиска вбиваю адрес "Москва", нажимаю кнопку "Найти". У меня на карте появляется метка с адресом "Москва". Теперь программно я хочу получить координаты этой метки. Как это можно сделать? 

Это можно сделать через события и методы SearchControl-а

примерно так:

 

    mySearchControl.events.add('resultselect', function (e) {        var index = e.get('resultIndex');        mySearchControl.getResult(index).then(function (geoObject) {            console.log(geoObject.geometry.getCoordinates());        });    });

 

 

Спасибо большое за помощь.
А вы могли бы уточнить где вообще хранятся метки, которые отображаются на карте в результате поиска. 

В отдельной внутренней коллекции.

к ней нет прямого доступа