0

これは、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;
        }
    } });

問題は、名前に「ビーム」が含まれる名前のレイヤーをフィルタリングする(つまり、表示しない)必要があることです。これを試してみましたが成功しませんでした:

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;

どんなヒントでも大歓迎です

4

1 に答える 1

1

「%」を削除するだけです。使用する

return record.getLayer().name.indexOf("beam") == -1;

それ以外の

return record.getLayer().name.indexOf("%beam%") == -1;
于 2015-06-01T11:11:26.273 に答える