[Commits] r2477 - in sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder: examples lib/GeoExt.ux/widgets/tree
commits at geoext.org
commits at geoext.org
Wed Nov 10 16:05:12 CET 2010
Author: adube
Date: 2010-11-10 16:05:12 +0100 (Wed, 10 Nov 2010)
New Revision: 2477
Modified:
sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js
sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
Log:
LayerTreeBuilder - multi added layers now supported
Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js 2010-11-10 08:52:37 UTC (rev 2476)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/examples/tree-builder.js 2010-11-10 15:05:12 UTC (rev 2477)
@@ -20,54 +20,11 @@
layers = [];
// google base layer
-
layers.push(new OpenLayers.Layer.Google(
"Google Satellite",
{type: G_SATELLITE_MAP, sphericalMercator: true, displayInLayerSwitcher: true}
));
- map = new OpenLayers.Map({
- projection: new OpenLayers.Projection("EPSG:900913"),
- units: "m",
- numZoomLevels: 18,
- maxResolution: 156543.0339,
- maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
- 20037508, 20037508.34)
- });
-
- mapPanel = new GeoExt.MapPanel({
- region: "center",
- center: [-7924121.1710935, 6185868.5449234],
- zoom: 10,
- map: map
- });
-
- tree = new GeoExt.ux.tree.LayerTreeBuilder({
- region: "east",
- title: "Layers",
- width: 250,
- autoScroll: true,
- enableDD: true,
- rootVisible: false,
- lines: false
- });
-
- new Ext.Viewport({
- layout: "fit",
- hideBorders: true,
- items: {
- layout: "border",
- items: [
- mapPanel, tree, {
- contentEl: desc,
- region: "west",
- width: 250,
- bodyStyle: {padding: "5px"}
- }
- ]
- }
- });
-
layers.push(new OpenLayers.Layer.WMS("Canadian parks", url, {
layers: "park",
format: 'image/png'
@@ -79,6 +36,7 @@
}
));
+ // GMap layers
layers.push(new OpenLayers.Layer.WMS("Canadian railroads", url, {
layers: "rail",
format: 'image/png'
@@ -139,6 +97,49 @@
}
));
+ map = new OpenLayers.Map({
+ projection: new OpenLayers.Projection("EPSG:900913"),
+ units: "m",
+ numZoomLevels: 18,
+ maxResolution: 156543.0339,
+ maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
+ 20037508, 20037508.34)
+ });
+
+ mapPanel = new GeoExt.MapPanel({
+ region: "center",
+ center: [-7924121.1710935, 6185868.5449234],
+ zoom: 10,
+ map: map
+ });
+
map.addLayers(layers);
+
+ tree = new GeoExt.ux.tree.LayerTreeBuilder({
+ region: "east",
+ title: "Layers",
+ width: 250,
+ autoScroll: true,
+ enableDD: true,
+ rootVisible: false,
+ lines: false
+ });
+
+ new Ext.Viewport({
+ layout: "fit",
+ hideBorders: true,
+ items: {
+ layout: "border",
+ items: [
+ mapPanel, tree, {
+ contentEl: desc,
+ region: "west",
+ width: 250,
+ bodyStyle: {padding: "5px"}
+ }
+ ]
+ }
+ });
+
map.setCenter(new OpenLayers.LonLat(-7924121.1710935, 6185868.5449234), 6);
});
Modified: sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js
===================================================================
--- sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js 2010-11-10 08:52:37 UTC (rev 2476)
+++ sandbox/mapgears/geoext.ux/ux/LayerTreeBuilder/lib/GeoExt.ux/widgets/tree/LayerTreeBuilder.js 2010-11-10 15:05:12 UTC (rev 2477)
@@ -46,45 +46,47 @@
},
onLayerAdded: function(store, records, index){
- var layer = records[0].getLayer();
- var group;
- var groupString;
+ Ext.each(records, function(record, index) {
+ var layer = record.getLayer();
+ var group;
+ var groupString;
- // get group array and group string
- if(layer.options && layer.options.group !== undefined)
- {
- group = layer.options.group.split('/');
- groupString = layer.options.group;
- }
- else
- {
- groupString = (layer.isBaseLayer)
- ? this.baseLayersText : this.otherLayersText;
- group = [groupString];
- layer.options.group = groupString;
- }
+ // get group array and group string
+ if(layer.options && layer.options.group !== undefined)
+ {
+ group = layer.options.group.split('/');
+ groupString = layer.options.group;
+ }
+ else
+ {
+ groupString = (layer.isBaseLayer)
+ ? this.baseLayersText : this.otherLayersText;
+ group = [groupString];
+ layer.options.group = groupString;
+ }
- // get layer title
- var layerTitle = records[0].data.title
- if(layer.options && layer.options.title)
- {
- layerTitle = layer.options.title;
- }
+ // get layer title
+ var layerTitle = record.data.title
+ if(layer.options && layer.options.title)
+ {
+ layerTitle = layer.options.title;
+ }
- // if layer has no GROUP
- if (groupString === "") {
- var layerNode = {
- nodeType: "gx_layer",
- layer: layer.name,
- layerStore: this.layerStore,
- isLeaf: true,
- allowDrag: false,
- checked: layer.visibility
- };
- this.getRootNode().appendChild(layerNode);
- } else {
- this.addGroupNodes(group, this.getRootNode(), groupString);
- }
+ // if layer has no GROUP
+ if (groupString === "") {
+ var layerNode = {
+ nodeType: "gx_layer",
+ layer: layer.name,
+ layerStore: this.layerStore,
+ isLeaf: true,
+ allowDrag: false,
+ checked: layer.visibility
+ };
+ this.getRootNode().appendChild(layerNode);
+ } else {
+ this.addGroupNodes(group, this.getRootNode(), groupString);
+ }
+ }, this);
},
addGroupNodes: function(groups, parentNode, groupString){
More information about the Commits
mailing list