Клуб API Карт

Вопрос по поводу балуна.

SPQRCOR
14 октября 2010, 11:42
Можно ли менять его размеры? В приложении на мобильном телефоне не влазит на экран.
5 комментариев
Подписаться на комментарии к посту
С помощью параметров балуна можно задать максимальную ширину и высоту.
Спасибо за ответ, еще касаясь этой темы: как для всех баллунов на оверлее загруженного с YMapsML задать свойство свойство maxWidth?
Нет, то можно задать свой шаблон, в котором с помощью стилей можно будет указать ширину и высоту.

Или можно после загрузки YMapsML в javascript выставить нужные опции.
А как выставить нужные опции?
Примерно так:

var ml = new YMaps.YMapsML("url");

YMaps.Events.observe(ml, ml.Events.Load, function (ml) {
    ml.get(0).forEach(function (obj) {
        obj.setOptions({
            balloonOptions : {
                maxWidth : 100,
                maxHeight : 80
            }  
        });
    });
});

Кратко опишу что я сделал. Я создал обработчик события Load (успешная загрузка YMapsML). Загруженный YMapsML представляет из себя объект класса YMaps.GeoObjectCollection. И он содержит в себе группу с объектами, описанных в xml-файле. Именно поэтому я пишу "ml.get(0)".
Далее я прохожу все элементы с помощью метода forEach (который для каждого объекта вызывает мою функцию). В цикле я для всех элементов выставляю нужные мне опции.