javascript - remove layer from open layers not working -


i trying add layers geoserver; it's working fine removing layers not working. code:

function loadtoclayer(layername) {   var tl = new ol.layer.tile({     extent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34],     source: new ol.source.tilewms( /** @type {olx.source.tilewmsoptions} */ ({       url: 'http://172.16.1.58:8080/geoserver/kbjnl/gwc/service/wms',       params: {         'layers': layername,         'tiled': true       },       servertype: 'geoserver'     }))   });    map.addlayer(tl); }   function removetoclayer(ss) {   map.removelayer(ss); } 

you mixing layer name , layer reference. you'll have keep index of layers name. try this:

var layersbyname = {}; function loadtoclayer(layername) {   var tl = new ol.layer.tile({     extent: [-20037508.34, -20037508.34, 20037508.34, 20037508.34],     source: new ol.source.tilewms( /** @type {olx.source.tilewmsoptions} */ ({       url: 'http://172.16.1.58:8080/geoserver/kbjnl/gwc/service/wms',       params: {         'layers': layername,         'tiled': true       },       servertype: 'geoserver'     }))   });    layersbyname[layername] = tl;    map.addlayer(tl); }   function removetoclayer(ss) {   map.removelayer(layersbyname[ss]); } 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -