简体   繁体   中英

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);
  }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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