Клуб API Карт

Сделать все кнопки deselect

create.it
16 марта 2015, 16:17

Приветствую!

Я создал несколько кнопок на карте, пример создания одной кнопки:

      var pointButton = new ymaps.control.Button({
          data: {
              content: 'Кнопка 1'
          },
          options: {
              selectOnClick: true
          }
      });
      pointButton.events
        .add('select', function(event) {
          Map.mapListeners.add('click', mapClick);
        })
        .add('deselect', function(event) {
          Map.mapListeners.remove('click', mapClick);
        });
this.map.controls.add(pointButton, { float: "right" });

когда одна из них нажата - производятся некие действия с картой (обработчик mapClick, который добавляется при событии select кнопки и убирается при событии deselect), но проблема в том, что я нажимаю первую кнопку, все хорошо, а когда нажимаю вторую - первая тоже остается нажатой! Как снять с нее нажатие?

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

Это называется радиогруппа

Я делал недавно такое

https://github.com/dimik/ymaps/tree/gh-pages/examples/2.1/location-tool/src/control/radioGroup

Огромное спасибо! Час веремени - и разобрался!

Для следующих поколений: пример вверху станет болеее понятным после просмотра примеров в песочнице https://tech.yandex.ru/maps/jsbox/2.1/module_request

А зачем вообще убрали radioGroup из апи 2.1? Ведь был дефолтовый контрол, кому он мешал?