[Users] Layertree with different sublayers

Alexandre Dube adube at mapgears.com
Mon Sep 26 17:35:25 CEST 2011


Hi,

   You could also take a look at the following ux :
http://dev.geoext.org/sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.html

   Basically, the widget is a tree that automatically generates its 
nodes based on the "group" layer option.  See tree-builder.js in the 
example.

Regards,

Alexandre


On 11-09-26 09:54 AM, gbrun wrote:
> Hi!
>
> A tip that may help: maybe there is an easier way to do what you want.
>
> You can create a treePanel by using the
> "GeoExt.tree.WMSCapabilitiesLoader" class. Then, in GeoServer, you can
> fill in the "default WMS path" field of each layer:
> http://docs.geoserver.org/stable/en/user/webadmin/data/layers.html
>
> This field allows GeoServer to create a hierarchy in the WMS Capabilities
> document of your GeoServer. Then, this hierarchy is identified by the
> treePanel, that creates automatically themes and sub-themes.
>
> Geoffrey
>
>
>
> Le Mon, 26 Sep 2011 15:18:18 +0200, Kathrin Babiker<k.babiker at gmx.de>  a
> écrit:
>
>> Hi,
>> I need an idea to build a layertree with consists not only of baselayers
>> and overlaylayers but also of different sublayers like this:
>> 1 - background
>> 2 - theme 1
>>     2-1 theme 1 subpoint A
>>         2-1-1 subsubpoint A-a
>>         2-1-2 subsubpoint A-b
>>         2-1-3 subsubpoint A-c
>>    2-2 theme 1 subpoint B
>>        2-2-1 subsubpoint B-a
>>        2-2-2 subsubpoint B-b
>> 3 - theme 2
>>    3-1 theme 2 subpoint A
>> ...
>> I mean it should look like a folder structure we know from our own PC.
>>
>> I tried a layout (taken from tree.js from geoext) with OpenLayers, GeoExt
>> and ExtJS but the structure is not going deep enough. The layers at
>> subsubpoints should come from geoserver.
>>
>>
>> My code is like this:
>>
>> var treeConfig = new OpenLayers.Format.JSON().write([{
>>          nodeType: "gx_baselayercontainer"
>>      }, {
>>          nodeType: "gx_overlaylayercontainer",
>>          expanded: true,
>>          // render the nodes inside this container with a radio
>> button,
>>          // and assign them the group "foo".
>>          loader: {
>>              baseAttrs: {
>>                  radioGroup: "foo",
>>                  uiProvider: "layernodeui"
>>              }
>>          }
>>      }, {
>>          nodeType: "gx_layer",
>>          layer: "Europäische Union (Gruppe)",
>>          isLeaf: false,
>>          // create subnodes for the layers in the LAYERS param. If we
>> assign
>>          // a loader to a LayerNode and do not provide a loader
>> class, a
>>          // LayerParamLoader will be assumed.
>>          loader: {
>>              param: "LAYERS"
>>          }
>>      }], true);
>>
>>      // create the tree with the configuration from above
>>      tree = new Ext.tree.TreePanel({
>>          border: true,
>>          region: "west",
>>          title: "Ebenen",
>>          width: 200,
>>          split: true,
>>          collapsible: true,
>>          collapseMode: "mini",
>>          autoScroll: true,
>>
>>          loader: new Ext.tree.TreeLoader({
>>              // applyLoader has to be set to false to not
>> interfer with loaders
>>              // of nodes further down the tree hierarchy
>>              applyLoader: false,
>>              uiProviders: {
>>                  "layernodeui": LayerNodeUI
>>              }
>>          }),
>>          root: {
>>              nodeType: "async",
>>              // the children property of an
>> Ext.tree.AsyncTreeNode is used to
>>              // provide an initial set of layer nodes. We use the
>> treeConfig
>>              // from above, that we created with
>> OpenLayers.Format.JSON.write.
>>              children: Ext.decode(treeConfig)
>>          },
>>
>>          rootVisible: false,
>>          lines: false
>>
>>      });
>>
>> Is there anyone who can help me? There MUST be any possibility to get
>> well
>> structured tree, or?!
>> Thanks
>> Kathrin
>>
>


-- 
Alexandre Dubé
Mapgears
www.mapgears.com



More information about the Users mailing list