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
Post a Comment