Клуб API Карт

Странное поведение размеров и отступов кнопок.

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

var Button_1 = new ymaps.control.Button({

data: {content: '1', title: '1'}

});

Button_1.options.set('minWidth', 50);

map.controls.add(Button_1, {top: 5, left: 5});

 

var Button_2 = new ymaps.control.Button({

data: {content: '2', title: '2'}

});

Button_2.options.set('minWidth', 50);

map.controls.add(Button_2, {top: 5, left: 60});

 

Ожидалось, что я увижу 2 кнопки с расстоянием между ними в 5 пикселов.

Но... нет.  Они накладываются.

Растояние, пожожее на 5px - наблюдается при:

map.controls.add(Button_2, {top: 5, left: 70});


Может я что-то не понимаю, как и откуда эти размеры считаются? Хотя, вроде, понятно написано.

Вообще-то ничего не мешает поставить 70 и жить спокойно. Но...


Если это - ошибка (как с подсказками в 2.0.17) и ее уберут, то верстка может поехать.

 

Решил спрятать все в 

new ymaps.control.ToolBar([]);

 

но с ним - новые проблемы...

var ToolBar1 = new ymaps.control.ToolBar([Button1,Button2,Button4]);

var ToolBar2 = new ymaps.control.ToolBar([Button1,Button2,Button3]);

map.controls.add(ToolBar2);

 

выводит - только Button3.

 

1 и 2 - недоступны. 

Работает - примерно так:

Какой control.ToolBar первый захватил кнопку, тот ей и владеет единолично.

 

Придется делать через ToolBar через добавление и удаление кнопок.

 

а была мысль подготовить два ToolBar и менять их после активации/даективации пользователя.

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

Позиционирование мы уже менять не можем, так как это многим поломает верстку. Так что ставьте 70, измениться не должно в будущих версиях.

По поводу тулбара - у  каждого элемента может быть только 1 родитель. Поэтому если вы помещаете в 2 разных тулбара одну и ту же кнопку, она попадет только в один из них.

Я так и понял, что эо назначение родителя.

В прошлых версиях рассматривалось, как набор...

 

Не буду плодить тем...

 

А balloonOptions.margin больше не будет?

 

Не стесняйтесь плодить темы) Отдельные темы легче искать по клубу и нам, и пользователям с аналогичными трудностями.