[Users] Dynamic Node does not bind to layer
Matt Priour
mpriour at kestrelcomputer.com
Mon Nov 29 20:25:11 CET 2010
What you want to do is to create your layer with some attribute that you are filtering for when creating its parent LayerContainerNode. This way when you add it to the map it is either added to the correct parent node because it is filtered out of the other layer container nodes filter function or it is not added to any nodes until you manually call the load method on the parent LayerContainerNode. (I just haven't looked at the code to know if the layertree is automatically updated or if you have to call load)
Either way, the filter function parameter of the loader is what will get you your layer added to the correct parent node
Matt Priour
From: IT Intern
Sent: Monday, November 29, 2010 12:38 PM
To: Users at geoext.org
Subject: Re: [Users] Dynamic Node does not bind to layer
Dear Matt,
Thanks for your feedback! Unfortunately I have tried that and I still have a little problem :-/. When I remove the additional listener everything works great, except every layer container on my tree now has a node for this layer which is not what I want :(. I need a way that I append a single node to a single layer container ...
Thank you,
elshae
On Mon, Nov 29, 2010 at 1:33 PM, Matt Priour <mpriour at kestrelcomputer.com> wrote:
The LayerStore associtated with the map already has register listeners in the map to take care of adding layers to itself when you add them to the map or vice versa.
Remove the additional listener that you are adding and things should work much better.
Matt Priour
From: IT Intern
Sent: Monday, November 29, 2010 12:28 PM
To: users at geoext.org
Subject: [Users] Dynamic Node does not bind to layer
Hello GeoExt list,
I have a tree panel which I append a child node to after it has been created. The node appears, but when it is toggled on and off I get the error in firebug:
this.node.getOwnerTree() is null
var checkedNodes = this.node.getOwnerTree().getChecked();
Also the layer does not appear on and off as the node is toggled. I have tried several things, last thing I tried is listening to the event of where the map has added the layer and then adding the layer to the layer store and creating the node and appending it to the root node of the tree panel. Please if anyone knows why this is failing please drop me a hint :)
Thanks,
elshae
map.events.register("addlayer", this, function() {
var l = map.layers[map.layers.length-1];
layerStore.loadData([l], true);
var className = '';
if (l.isBaseLayer || !l.displayInLayerSwitcher) {
className = 'x-hidden';
}
var node = new GeoExt.tree.LayerNode({
layerStore: layerStore,
layer: l,
checkedGroup: 'foo',
checked: false
});
// todo, depends on ascending whether to use insertBefore or appendChild
//this.getRootNode().insertBefore(node, this.getRootNode().firstChild);
layerRoot.getOwnerTree().getNodeById('photos').appendChild(node);
});
map.addLayer(vectorPano);
------------------------------------------------------------------------------
_______________________________________________
Users mailing list
Users at geoext.org
http://www.geoext.org/cgi-bin/mailman/listinfo/users
--------------------------------------------------------------------------------
_______________________________________________
Users mailing list
Users at geoext.org
http://www.geoext.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.geoext.org/pipermail/users/attachments/20101129/cedb2c61/attachment-0001.htm
More information about the Users
mailing list