Клуб API Карт

Вывод всех меток в доступном окне

alive-planet-v
13 июня 2014, 09:28

HELP

Задача - есть метки (SQL lat,lon), фактический произвольные по своей географии, метки модут добавляться, удаляться, в общем ассорти полное.

Без особых проблем:
1 Создал карту  map = new ymaps.Map('YMapsID', {  center: [56.326944, 44.0075],   zoom: 15,

Карта отобразилась на странице


2 Поставил метки  map.geoObjects.add(myCollection);
               
3 Смасштабировал- сдвинул карту map.setBounds(myCollection.getBounds());

Карта "сместилась" на странице.

Все работает, но....   Получаем два отображения карты 1-стартовая инициализация, 2-Сдвиг-масштабирование для отображения всех меток. Сначала первое, потом второе. 

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


HELP - куда копать???  буду благодарен за работающую ссылку с примером в тему


2 комментария
Подписаться на комментарии к посту

Мы знаем о таком кейсе, но пока решения через АПИ нет.

Можно вычислить прямоугольную границу, которая охватывает все метки (просто через min, max). И потом получить центр и зум карты с помощью функции http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/util.bounds.getCenterAndZoom.xml