[Users] variables in filter of LayerContainer loader
Frans Knibbe
frans.knibbe at geodan.nl
Fri Feb 11 11:32:13 CET 2011
Hello!
I am trying to create several GeoExt.tree.LayerContainer nodes in my
layer tree. I want to group layers by a custom attribute (themes) that I
have added to the OpenLayers layer definition. Let's call this attribute
'themeId'. It could have values like 'vegetation', 'water', 'roads',
etc.. What I want to do is loop though the themes and create
.LayerContainers for matching layers. I am doing this by means of a
filter of the GeoExt.tree.LayerLoader, which looks like this:
filter: function(record){
return (record.get("layer").options.themeId == themes[theme].id);
}
My problem is that the filter does not work :-). This seems to be caused
by the variable holding the theme ID ( themes[theme].id in the example
above) being unknown at them time the filter function is executed. If I
exchange the variable with a string everything works fine, like this:
filter: function(record){
return (record.get("layer").options.themeId == 'vegetation');
}
So my question is: Can I somehow get the variable to have the right
value at the time the filter function is executed? Or is there another
way of dynamically building LayerContainers I could try?
Thanks!
Frans
More information about the Users
mailing list