[Users] Set visibility on Sub-layers

Andreas Hocevar ahocevar at opengeo.org
Thu Oct 15 01:06:32 CEST 2009


Hi Paul,

the recommendations given so far should all work, but let Papa Treenode 
speak from his experience:

The best thing to do is override the createNode function of the loader, 
as documented in 
http://www.extjs.com/deploy/dev/docs/?class=Ext.tree.TreeLoader.

The createNode function is called with the attributes (attrs) as 
argument, so you could check for attr.text and then set attr.checked 
accordingly.

Regards,
Andreas.

Paul james wrote:
> Thanks Matt...
> I tried that:
>  
> nodeType: "gx_layer",
>              id: "Streets",
>              layer: "Streets",
>              isLeaf: false,
>              expanded : true,                            
>              loader: {
>                    param: "LAYERS",                                      
>                     baseAttrs: {
>                            uiProvider: Ext.extend(Ext.tree.TreeNodeUI, {
>                                  render: function(bulkRender) {   
>                                         if(this.node.text == 
> "Layer3")                                            
>                                                 
> this.node.layer.setVisibility(false);                         
>                                         
> Ext.tree.TreeNodeUI.prototype.render.apply(this, arguments); 
>                                   }
> ...
>  
>  
> But all node´s layer are set off... How can I set the 
> subnode´s visibility separately?
>  
> Thanks
>  
> Paul
> 
> On Wed, Oct 14, 2009 at 11:50 AM, Matt Priour 
> <mpriour at kestrelcomputer.com <mailto:mpriour at kestrelcomputer.com>> wrote:
> 
>     Handle the 'render' event of the layer tree and programmatically
>     uncheck the nodes that you don't want on.
>     The only disadvantage of this method is that depending on timing the
>     application may or may not attempt to do GetMap requests on the
>     layers you don't want. Though they still would not be visible, if
>     you are calling a slow service or complex rendering is involved,
>     then the GetMap requests can block other WMS service requests.
>     Matt Priour
>     Kestrel Computer Consullting 
> 
>     *From:* Paul james <mailto:pauljame at gmail.com>
>     *Sent:* Wednesday, October 14, 2009 9:39 AM
>     *To:* bartvde at osgis.nl <mailto:bartvde at osgis.nl>
>     *Cc:* users at geoext.org <mailto:users at geoext.org> ; Andreas Hocevar
>     <mailto:ahocevar at opengeo.org>
>     *Subject:* Re: [Users] Set visibility on Sub-layers
> 
>     Thanks bart...
>     But I need set all layers to build up my treeview, like that:
>      
>     nodeType: "gx_layer",
>                         layer: "Streets",
>                         isLeaf: false,
>                
>                         loader: {
>                             param: "LAYERS",
>     ...
>      
> 
> 
>      
>     On Wed, Oct 14, 2009 at 11:16 AM, <bartvde at osgis.nl
>     <mailto:bartvde at osgis.nl>> wrote:
> 
>         Hi Paul,
> 
>         only by using LAYERS: ['layer1', 'layer2'].
> 
>         Then later on, when you need more layers, you should change the
>         LAYERS
>         param using the mergeNewParams function.
> 
>         Best regards,
>         Bart
> 
>          > Hello guys... I have that set of sublayers :
>          >
>          > new OpenLayers.Layer.MapServer("Streets",
>          >                 _cgi, {
>          >                     map: _mapfile,
>          >                     "LAYERS":
>         ['Layer1','Layer2','Layer3','Layer4',
>          > 'Layer5'],
>          >                     transparent: true,
>          >                     format: "image/png"
>          >                 }, {
>          >                     isBaseLayer: false,
>          >                     buffer: 0,
>          >                     displayInLayerSwitcher: false,
>          >                     visibility: false
>          >                 })
>          >
>          > I悲 like to start with Layer1 and Layer2 with visibility true
>         ... How can
>          > I
>          > do that?
>          >
>          > Paul
>          > _______________________________________________
>          > Users mailing list
>          > Users at geoext.org <mailto:Users at geoext.org>
>          > http://www.geoext.org/cgi-bin/mailman/listinfo/users
>          >
> 
> 
> 
>     ------------------------------------------------------------------------
> 
>     _______________________________________________
>     Users mailing list
>     Users at geoext.org <mailto:Users at geoext.org>
>     http://www.geoext.org/cgi-bin/mailman/listinfo/users
> 
> 


-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.


More information about the Users mailing list