Клуб API Карт

Как менять положение элементов управления?

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

Нужно чтоб кнопка «Анкер» принадлежала к группе тул бар. и работала синхронно с ними.

 Код выглядет так:

var Anchor= new ymaps.control.ToolBar([ new ymaps.control.Button({data: { content: 'Анкер', title: 'кнопочка которую можно нажмать'}})]

map.controls.add("mapTools") . add(Anchor)
.add("zoomControl");

8 комментариев

нужно все кнопочки добавить в массив одного турбара

Sergey Konstantinov
28 января 2016, 04:54

map.controls.add(

    new ymaps.control.MapTools([

        'drag',

        'magnifier',

        'ruler',

        new ymaps.control.Button('Анкер')

    ]);

);

Спасибо огромное! Я еще не сильно хорошо разобрался с апи 1.0, а тут уже 2.0 :-)

А диплом горит)) И вопросов возникает огромное количество))

 

... ymaps.control.MapTools([

        'default',

        new ymaps.control.Button('Анкер')

    ]...

 

Если доверяете нам в подборе кнопок по умолчанию.

Но тут есть и проблема - эта кнопка будет добавлена как равноценная остальным элементам mapTools, тоесть ее включение будет выключать другие.

Если этого НЕ нужно - потребуется сохранить указатель на mapTools и добавить в нее (.add) вашу кнопку уже после создания.

не нашел как отслеживать активная/не активная кнопка.

создаю кнопку

 

var button_one = map.controls.add(new ym.control.Button('Кнопка 1'),{right:'5', top:'35'});

var button_two = map.controls.add(new ym.control.Button('Кнопка 2'),{right:'5', top:'65'});

button_one.events.add('click',function(e){

})

button_two.events.add('click',function(e){

})

 

 

они получаются равнозначны... ткните лицом в ссылку а лучше примерчик маленький как сделать правильно

Sergey Konstantinov
28 января 2016, 04:54

map.controls.add('mapTools').get('mapTools').add(new ymaps.control.Button('Анкер'))

map.controls.add вернут map.controls

надо либо сохранить ссылку на кнопку, либо получить ее обратно из controls.get(index)

 

Может кому помогу...

 

var $Button = new ym.control.Button('Кнопка 1');
                map.controls.add($Button ,{right:'5', top:'35'});

$Button.events.add("click", function(e) {

... тут что то по клику делаем

})

 

var $Button2 = new ym.control.Button('Кнопка 1');
                map.controls.add($Button2 ,{right:'5', top:'65'});

$Button2.events.add("click", function(e) {

... тут что то по клику делаем по Button2

})