Клуб API Карт

Как передать группу точек в GeoCollectionBounds

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

Всем привет,

 

есть группа меток, которая формируется вот так -

        var group = new YMaps.GeoObjectCollection(


... и дальше в цикле:

        point = new YMaps.GeoPoint(X, Y);
        placemark = new YMaps.Placemark(point);
        group.add(placemark);

 

Группа добавляется на карту:

         map.addOverlay(group);

 

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

         map.setBounds(YMaps.GeoCollectionBounds(group)



к успеху не приводит, т.к. GeoCollectionBounds принимает массив точек, а group само по себе не массив. Вопрос, можно ли "достучаться" до точек в group как до массива? Или каким-то другим способом выставить карте bounds по точкам в группе group?

5 комментариев
Александр Новиков
28 января 2016, 05:22
А если вот так:
map.setBounds(group.getBounds())

А должно? В описании getBounds сказано "Если значение не было установлено методом setBounds, возвращает null". SetBounds я не вызывал.

 

        var group = new YMaps.GeoObjectCollection();
        var bounds = new YMaps.GeoCollectionBounds();


... и дальше в цикле:

        point = new YMaps.GeoPoint(X, Y);
        placemark = new YMaps.Placemark(point);
        group.add(placemark);
        bounds.add(point);

 

Другими словами, в супер-навороченном API нет доступа к точкам в группе, и их надо коллекционировать отдельно ?...

доступ есть

и добавлять точки можно сразу массивом

только GeoCollectionBounds работает с геоточками, а не с плейсмарками.