Откройте слой, деактивируйте ol.control.Toggle и активируйте другой - PullRequest
0 голосов
/ 15 мая 2019

У меня есть ol.control.Bar, построенный как показано ниже:

 mainbar = new ol.control.Bar ({ toggleOne: true, group:true });
var me = this;

// Function with its level context
function addButton(level) {
  var levelButton = new ol.control.Toggle({
    html: level,
    onToggle:  function () {
      me.getController().updateFloorplans(level);
    }
  });
  mainbar.addControl (levelButton);
}

 // Insert buttons
var indexFloor = 4;
while(indexFloor > 0){
   addButton(indexFloor);
   indexFloor--;
};
addButton('0');

mainbar.setPosition('bottom-right');
this.map.addControl(mainbar);

enter image description here

Я хотел бы создать функцию, которая деактивирует кнопки в ol.control.Bar (например, 3 на изображении) и активирует другую кнопку, выбранную мной (например, кнопка 2). Как я могу это сделать?

Я создал эту функцию, но вместо того, чтобы деактивировать все активные кнопки, она удаляет всю панель управления:

 deactiveButtons: function(){
        var self = this;
        self.map.removeControl(mainbar);
     },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...