Клуб API Карт

Ошибка в автомасштабировании (центрировании) карты

worlds.ends
12 декабря 2014, 15:24

Использовал для автоцентрирования 

 

bounds = myMap.geoObjects.getBounds();
myMap.setBounds(bounds);

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


Тогда я решил использовать ymaps.util.bounds.getCenterAndZoom().  И здесь было тоже самое. функция только иногда возвращала правильный зум, координаты меток были одни и те же. В остальное время возвращал нулевой зум.

А все это началось после того, как я начал прятать контейнер с помощью css, если не было координат.
Как доп сведения: инициализация и помещение меток на карту у меня разделены. Т.е. для каждого свой ready, этого требует структура сайта. И кстати из-за этого разделения у яндекс API возникает ряд проблем.

3 комментария
Подписаться на комментарии к посту
Добрый день. Нет ли у вас публичной ссылки на страницу с картой?

 

А все это началось после того, как я начал прятать контейнер с помощью css, если не было координат.

 

Нулевой зум получается из-за того, что у вас размер контейнера карты в момент вызова setBounds равен 0

И показ карты случается позже чем выставление масштаба.

да вы правы, проблема была в этом. но кроме как задержки выполнения, ничего не придумал