Клуб API Карт

Перебор геообъектов - проблема

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

Добрый вечер!

Возникла следующая проблема

  Если я добавляю объекты "кучей": ( map.geoObjects.add(res.geoObjects); ), то отображаются все 5 меток, но через each - только три. Подскажите, в чем может быть дело?

 

Спасибо!

 

 mGeocoder.geocode([
                "ул. Гоголя 34/3",
                "6а мкрн, дом 11, офис 17",
                "пр. Машиностроителей, 27 к7",
                "ул. Горького д.127",
                "ул. Куйбышева,123"
            ])
            .then(function (res) {
                    // Асинхронно получаем коллекцию найденных геообъектов.
                        res.geoObjects.each(function (geoObject) {
                            map.geoObjects.add(geoObject);
                        });
                            //map.geoObjects.add(res.geoObjects);
                },
                function (err) {
                    console.log(err);
                });

 

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

строит метки по нечетным позициям: Гоголя, машиностроителей, Куйбышева и тд.

При добавлении геообъекта в новую геоколлекцию он удаляется из текущей.

Потому что родитель может быть только один.

Спасибо за ответ!

Но тогда какой вариант использовать, чтоб сделать преобразования отдельно над каждым объектом?

for(var i=0;res.geoObjects.lenght; i++) ?

 

1. Можно добавить всю коллекцию целиком и делать преобразования после

2. Можно и как-то так

while(res.geoObjects.getLength()) {

    var geoObject = res.geoObjects.get(0);

    // тут ваши преобразования

    myMap.geoObjects.add(geoObject);

}