Hi,
the easiest way is to customize your loader with a createNode method. Inside
that method, you set the icon attribute to the location (GetLegendGraphic
request) of your image.
loader: {
param: "LAYERS",
createNode: function(attr) {
attr.icon = "...&reqest=GetLegendGraphic&layers="+attr.text
return GeoExt.tree.LayerParamLoader.prototype.createNode.apply(this,
arguments);
}
}
Regards,
Andreas.
On Nov 23, 2010, at 01:38 , Andrew Stewart wrote:
> Sorry to reply so many times to my own post.. but I kinda figured this out.
> Basically now I am setting the text property of each childnode after
> expanding to the WMS GetLegendGraphic request and then contatonating that
> with the text name of the node. Is there a better way to do this.. I am just
> using the expand event and then redrawing the entire childnodes with new
> icons.. can I do this before the nodes are even expanded?
>
>
>
>
>
>
>
>
> From: [email protected] [[email protected]] On Behalf Of Andrew
> Stewart [[email protected]]
> Sent: November 22, 2010 4:22 PM
> To: [email protected]
> Subject: Re: [Users] Question on using WMS GetLegendGraphic with a
> GeoExt.tree.LayerNode
>
> So I have tried to change the icon of each childNode after the expand event
> like so -
>
>
> 'expand' : {fn: function(node) {
> var count = (node.childNodes.length -1);
> while (count >= 0)
> {node.childNodes[count].setIcon("../images/minus.png");
> count -=1;
> }
> }}
>
> But this does not seem to work, anything else I can try?
>
>
>
> ________________________________
> From: [email protected] [mailto:[email protected]] On Behalf Of
> Andrew Stewart
> Sent: November 22, 2010 3:51 PM
> To: [email protected]
> Subject: [Users] Question on using WMS GetLegendGraphic with a
> GeoExt.tree.LayerNode
>
> Is it possible to show a legend graphic which is returned from my WMS
> GetLegendGraphic request next to each item on the LayerNode after it is
> expanded? (or before.. Or whenever as long as it shows).
>
> I declare my layernode like so -
>
> //Trails layerList
> layerList_Trails = new GeoExt.tree.LayerNode({
> "layer": layer_Trails,
> "isLeaf": false,
> "checked": false,
> "enableDD": true,
> "cls": "rootnode",
> "singleClickExpand": true,
> "listeners": {
> 'checkchange' : function(node, checked)
> {
> // If a parent node is unchecked, uncheck all the children
> if (node.getUI().isChecked()) {
> node.expand();
> }
> if (!node.getUI().isChecked())
> {
> node.collapse();
> }
> }
> },
> "loader": {
> "param": "LAYERS"
> }
> });
>
> Which is added to my root -
> layerRoot_Legend.appendChild(layerList_Trails);
>
> And then my treepanel
>
> 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
> });
>
>
> Except previously when I declared my layers individually I had put an <img>
> tag with the right layer next to each.. But now I am declaring them in groups
> like -
> //Trails Group
> var layer_Trails = new OpenLayers.Layer.WMS("<img
> src='http://localhost/WebService/Request.aspx?request=GetLegendGraphic&version=1.1.1&format=image/png&layer=Asphalt'
> alt=''/>Trails", "http://localhost/WebService/Request.aspx",
> {
> layers: ['Onstreet_Bike_Route', 'Mountain_-_Stunt_Biking',
> 'Equestrian', 'Gravel_or_Shale', 'Asphalt'],
> VERSION: "1.1.1",
> transparent: true
> },
> { isBaseLayer: false,
> singleTile: true,
> visibility: false,
> buffer: 1,
> ratio: 1
> }
> But this only puts the image on the actual group name and I need it to be
> beside each legend entry when it is expanded. Is there a place somewhere I
> can stick this image tag and either hard code the layer name or have it be
> returned from the childNodes of the tree and get it to show this image beside
> each childNode? Appreciate any assistance!
>
>
>
> ________________________________
> 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.
>
> ________________________________
> [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.]
>
> ________________________________
> 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.
>
> ________________________________
> [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.
_______________________________________________
Users mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/users