Thanks that works much better. Everything is working great for me except a small issue... Before I was able to move the layers around and change the order of visible layers ontop/below each other by dragging and using enableDD:true. Although I can still drag the layers around it doesn't seem to change the order of them.. Is this because they are grouped and so I've lost that functionality? I guess I can live with that... One other thing it seems to take about 3-5 seconds sometimes initially to turn on/off my layers.. Is this also because it is grouped so it will be slower this way or can I speed this up somehow? Thanks again for all the info.
-----Original Message----- From: Andreas Hocevar [mailto:[email protected]] Sent: November 19, 2010 1:17 AM To: Andrew Stewart Cc: [email protected] Subject: Re: [Users] Displaying single legend items when the layer is a group layer comprised of several layers On Nov 19, 2010, at 00:22 , Andrew Stewart wrote: > Ok I did it in a different spot after my TreePanel was actually rendered and > it works, was able to expand the node and uncheck a childnode then collapse > it, although I'm not sure if this is the best way to do this. The other way would be to call layer_Base.mergeNewParams({LAYERS: "only,visible,layers"}); in your loader's load event: > layerList_Base = new GeoExt.tree.LayerNode({ > "layer": layer_Base, > "isLeaf": false, > "loader": { > "param": "LAYERS", on: { "load": function() { layer_Base.mergeNewParams({LAYERS: "only,visible,layers"}); } } > } > }); Regards, Andreas. > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > Andrew Stewart > Sent: November 18, 2010 4:11 PM > To: [email protected] > Subject: Re: [Users] Displaying single legend items when the layer is a group > layer comprised of several layers > > I am having a slight issue with the LayerNode setup. Unfortunately I need to > have some layers not displayed during load of the map, but using the below > code all layers are automatically checked. When I try the code > layerList_Base.expand(); so that I can uncheck one of the child nodes I get > the following error - > > > Message: 'insertAdjacentHTML' is null or not an object > Line: 7 > Char: 5686 > Code: 0 > URI: ext-3.3.0/ext-all.js > > Is there a better way for me to uncheck one of these layers or something I > can do to correct this error? I just need to be able to make a few of these > layers not displayed so they are unchecked during load.. Appreciate any help! > > > // Base Group Layers > var layer_Base = new OpenLayers.Layer.WMS("Base", > "http://localhost/WebService/Request.aspx", > { > layers: ['Rural_Lot_Line', 'Rural_Block_Line', > 'Section_Lines', 'Linear_Parks', 'School_Sites', 'Recreation_Sites', > 'Neighbourhood_Parks', 'Major_Parks', 'Neighbourhood_Boundary', > 'Neighbourhood_Area__clear_', 'Hydrology', 'City_Boundary', > 'Street_Secondary_Segment', 'Street_Segment', 'Arterial', 'Highway', > 'Rural_Highway', 'Bridge'], > VERSION: "1.1.1", > format: 'image/png', > transparent: true > }, > { isBaseLayer: false, > singleTile: true, > buffer: 4 > } > ); > > > layerList_Base = new GeoExt.tree.LayerNode({ > "layer": layer_Base, > "isLeaf": false, > "checked": false, > "cls": "rootnode", > "nodeType": "gx_layer", > "loader": { > "param": "LAYERS" > } > }); > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On Behalf Of > Andrew Stewart > Sent: November 18, 2010 2:39 PM > To: 'Andreas Hocevar' > Cc: [email protected] > Subject: Re: [Users] Displaying single legend items when the layer is a group > layer comprised of several layers > > Thank you very much! I was looking at this before and could not get it to > work.. But your provided example code was exactly enough to get me going.. > The problem I was doing before was when defining my layers I wasn't > seperating them by 'layer name', 'layer name' .. I had them all individually > inside only one 'layer name, layer name' but when I put quotes around each > one and seperated them by comma it works perfectly, thanks again! > > > -----Original Message----- > From: Andreas Hocevar [mailto:[email protected]] > Sent: November 18, 2010 2:26 PM > To: Andrew Stewart > Cc: [email protected] > Subject: Re: [Users] Displaying single legend items when the layer is a group > layer comprised of several layers > > Hi, > > you may want to have a look at > http://geoext.org/lib/GeoExt/widgets/tree/LayerParamLoader.html. > > For your layer_Base layer, the tree node configuration could look like this: > > layerList_Base = new GeoExt.tree.LayerNode({ > "layer": layer_Base, > "isLeaf": false, > "loader": { > "param": "LAYERS" > } > }); > > Regards, > Andreas. > > On Nov 18, 2010, at 22:09 , Andrew Stewart wrote: > >> Is this possible to display each individual item so I can still >> check/uncheck them using my below code, or can I use a different GeoExt/Ext >> container to accomplish this? I need to keep the layers grouped because of >> performance but I still need to be able to display each individual layer so >> that I can turn them on/off. Is this possible? Any example/help immensely >> appreciated. >> >> >> My layer group is declared as the following - >> >> // Base Group Layers >> var layer_Base = new OpenLayers.Layer.WMS("Base Layers", >> "http://localhost/WebService/Request.aspx", >> { >> layers: >> ['Bridge,Rural_Highway,Highway,Arterial,Street_Segment, >> Street_Secondary_Segment, City_Boundary, >> Hydrology,Neighbourhood_Area__clear_,Neighbourhood_Boundary,Major_Parks,Neighbourhood_Parks,Recreation_Sites,School_Sites,Linear_Parks,Section_Lines,Rural_Block_Line,Rural_Lot_Line'], >> VERSION: "1.1.1", >> transparent: true >> }, >> { isBaseLayer: false, >> singleTile: true, >> buffer: 4 >> } >> ); >> >> >> Then I define my Treenode root and treepanel, and create a GeoExt >> LayerContainer to load the layer into the root node. Can the layers above be >> displayed as individual items with separate checkboxes somehow? >> >> var layerRoot_Legend = new Ext.tree.TreeNode({ >> enableDD: true, >> text: "All Legend Items", >> loaded: true, >> expanded: true >> }); >> >> var layerTree_Legend = new Ext.tree.TreePanel({ >> title: '', >> root: layerRoot_Legend, >> enableDD: true, >> applyLoader: true, >> rootVisible: false >> }); >> >> >> //Base layerList >> layerList_Base = new GeoExt.tree.LayerContainer({ >> text: 'Base', >> layerStore: mapPanel.layers, >> leaf: false, >> enableDD: true, >> cls: 'rootnode', >> singleClickExpand: true, >> expanded: false, >> checked: false, >> listeners: { >> 'checkchange' : function(node, checked) >> { >> // If a parent node is unchecked, uncheck all the children >> if (node.getUI().isChecked()) { >> node.expand(); >> node.eachChild(function(child){ >> child.ui.toggleCheck(true); >> }); >> } >> if (!node.getUI().isChecked()) >> { >> node.expand(); >> node.eachChild(function(child) { >> child.ui.toggleCheck(false); >> }); >> } >> } >> }, >> loader: >> { >> filter: function(record) >> { >> if (record.data.title == 'Base Layers') >> return true; >> } >> } >> }); >> >> >> layerRoot_Legend.appendChild(layerList_Base); >> >> >> >> >> >> >> >> This e-mail is intended for the original recipient(s) only. If you have >> received it in error, please advise the sender and delete this message. >> >> _______________________________________________ >> Users mailing list >> [email protected] >> http://www.geoext.org/cgi-bin/mailman/listinfo/users > > -- > Andreas Hocevar > OpenGeo - http://opengeo.org/ > Expert service straight from the developers. > > > > [This message has been scanned for security content threats and viruses.] > > [The City of Red Deer I.T. Services asks that you please consider the > environment before printing this e-mail.] > > > > > _______________________________________________ > Users mailing list > [email protected] > http://www.geoext.org/cgi-bin/mailman/listinfo/users > > > [This message has been scanned for security content threats and viruses.] > > [The City of Red Deer I.T. Services asks that you please consider the > environment before printing this e-mail.] > > > > > _______________________________________________ > Users mailing list > [email protected] > http://www.geoext.org/cgi-bin/mailman/listinfo/users > > > [This message has been scanned for security content threats and viruses.] > > [The City of Red Deer I.T. Services asks that you please consider the > environment before printing this e-mail.] > > > > > _______________________________________________ > Users mailing list > [email protected] > http://www.geoext.org/cgi-bin/mailman/listinfo/users -- Andreas Hocevar OpenGeo - http://opengeo.org/ Expert service straight from the developers. [This message has been scanned for security content threats and viruses.] [The City of Red Deer I.T. Services asks that you please consider the environment before printing this e-mail.] _______________________________________________ Users mailing list [email protected] http://www.geoext.org/cgi-bin/mailman/listinfo/users
