使用 LIKE 运算符过滤(不显示)GeoExt.LegendPanel 中的图层
Filter (no display) layers in GeoExt.LegendPanel using LIKE operator
这可以避免底图图层(例如 Google 地图和叠加层(例如 WMS)出现在 GeoExt 图例面板中:
var legendPanel = new GeoExt.LegendPanel({
border: false,
filter: function(record){
if(!(record.getLayer().isBaseLayer) && (record.getLayer() instanceof OpenLayers.Layer.WMS)){
return true;
}
} });
问题是我需要过滤(即不显示)名称中包含 "beam" 的图层,我试过没有成功:
return record.getLayer().displayInLayerSwitcher == false && record.getLayer().name == '%beam%';
return record.getLayer().displayInLayerSwitcher == false &&
record.get("layer").name.indexOf("%beam%") == -1;
return record.get("layer").name.indexOf("%beam%") == -1;
欢迎任何提示,
只需删除“%”。使用
return record.getLayer().name.indexOf("beam") == -1;
而不是
return record.getLayer().name.indexOf("%beam%") == -1;
这可以避免底图图层(例如 Google 地图和叠加层(例如 WMS)出现在 GeoExt 图例面板中:
var legendPanel = new GeoExt.LegendPanel({
border: false,
filter: function(record){
if(!(record.getLayer().isBaseLayer) && (record.getLayer() instanceof OpenLayers.Layer.WMS)){
return true;
}
} });
问题是我需要过滤(即不显示)名称中包含 "beam" 的图层,我试过没有成功:
return record.getLayer().displayInLayerSwitcher == false && record.getLayer().name == '%beam%';
return record.getLayer().displayInLayerSwitcher == false &&
record.get("layer").name.indexOf("%beam%") == -1;
return record.get("layer").name.indexOf("%beam%") == -1;
欢迎任何提示,
只需删除“%”。使用
return record.getLayer().name.indexOf("beam") == -1;
而不是
return record.getLayer().name.indexOf("%beam%") == -1;