Openlayers 3 绑定到 Vector 层以提高可见性的复选框没有做任何事情

Openlayers 3 A checkbox bound to a Vector layer for visibility is not doing anything

我正在尝试将复选框绑定到 'visible' 属性 的矢量图层,但它不起作用;容易指出谁发现我的打字错误 :)

事实是,这适用于 ol.layer.Tile,但不适用于 ol.layer.Vector,只有可见的复选框不起作用。 'opacity' 工作正常。

var list = document.getElementById('some-ul-element')
....

var li = document.createElement('li');
var checkbox = document.createElement('input');
checkbox.setAttribute('type','checkbox');
checkbox.setAttribute('checked',true);
li.appendChild(checkbox);
var label = document.createElement('label');
label.appendChild(document.createTextNode(layer.get("title")));
li.appendChild(label);
var range = document.createElement('input');
range.setAttribute('type','range');
range.setAttribute('min','0');
range.setAttribute('max','1');            
range.setAttribute('step','0.01');
range.setAttribute('value','1');
li.appendChild(range);

new ol.dom.Input(range).bindTo('value',layer,'opacity');
new ol.dom.Input(checkbox).bindTo('checked',layer,'visible');

....
list.appendChild(li)

我在 http://openlayers.org/en/master/examples/bind-input.html?mode=raw

上工作
var checkbox = document.createElement('input');
checkbox.setAttribute('type','checkbox');
new ol.dom.Input(checkbox).bindTo('checked',layer,'visible');

document.body.appendChild(checkbox);

您是否查看过这个 Whosebug 问题 https://gis.stackexchange.com/questions/138364/layer-doesnt-turn-back-on-after-clicking-in-openlayers-3/139346#139346 还有一些使用 ol.dom.Input 元素的替代解决方案。

问题是,我使用的地图是使用此选项声明的:

new ol.Map({ 
    ....
    renderer: ['dom','canvas','webgl'],
    ....
    }); 

这完全被禁用了'setVisible',我什至无法成功使用'layer.setVisible(false)'。

在实例化时从 ol.Map 选项中删除整个 "renderer" 键值对解决了这个问题。