简体   繁体   English

OpenLayers 3-将选择功能绑定到复选框

[英]OpenLayers 3 - bind select feature to checkbox

Is there a way to bind checkbox change events to a feature select event? 有没有办法将复选框更改事件绑定到功能选择事件? For example the following does this for layer visibility. 例如,以下操作可实现图层可见性。

<input type="checkbox" id="visible" checked>
var visible = new ol.dom.Input(document.getElementById('visible'));
visible.bindTo('checked', layer, 'visible');

I want to allow users to select features from a table. 我想允许用户从表中选择功能。

Fiddle 小提琴


function getLayerByName(value) {
  var layer;
  var found = map.getLayers().getArray().some(function(each){
    //discard layers other than ol.layer.Vector
    if(each instanceof ol.layer.Vector) {
        layer = each.get('name') === value ? each: undefined;
    }
    if(layer) return true;
    return false;
  });
  return layer ? layer : false;
}

function toggleVisibility(element) {
  var layer = getLayerByName(element.value);
  if (element.checked) {
    layer.setVisible(true);
  } else {
    layer.setVisible(false);
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM