Клуб API Карт

как получить список адресов из GeoObjectCollection

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

API v 2.

Суть задачи.

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

Гугление дало мне вот такой пример

myCollection = new ymaps.GeoObjectCollection();

ymaps.geocode ( search_query, {results: 10} ).then ( function ( res ) {

  myCollection.removeAll();

  myCollection = res.geoObjects;

  myMap.geoObjects.add ( myCollection );

});

Все отлично, метки проставились на карте. Как мне собрать эти метки из коллекции чтобы получить их адреса?

myCollection.each вроде как их перебирает, но где там метаданные?

По сути, мне нужны координаты с адресами.

 

3 комментария

пример прямо скажем плохой

myCollection сначала очищается, потом почему то ссылка на нее перезаписывается, и каждый раз заного добавляется на карту

При том что старая с карты не удаляется - как результат память будет течь.

я бы делал так

 

myCollection = new ymaps.GeoObjectCollection();

myMap.geoObjects.add(myCollection);


ymaps.geocode(search_query, {results: 10} ).then(function (res) {

  myCollection.removeAll();

  myCollection.add(res.geoObjects);

});

Да, нужно перебирать с помощью each

метаданные тут:

 

res.geoObjects.each(function (item) {
    console.log(item.properties.get('metaDataProperty'));
});

Пример из фака примеров.

Громное спасибо, то, что нужно.

Последний вопрос - как получить координаты элемента.

item.geometry.getCoordinates();