Hi,
can you provide a test case to show that it really makes a difference? If you
only use the OpenLayers API correctly, it should not. Note that
Map::setLayerZIndex is not an API method. And here is the setLayerIndex (API
method) code from OL, which shows that the layers array reflects the order the
layers are shown:
setLayerIndex: function (layer, idx) {
var base = this.getLayerIndex(layer);
if (idx < 0) {
idx = 0;
} else if (idx > this.layers.length) {
idx = this.layers.length;
}
if (base != idx) {
this.layers.splice(base, 1);
this.layers.splice(idx, 0, layer);
for (var i=0, len=this.layers.length; i<len; i++) {
this.setLayerZIndex(this.layers[i], i);
}
this.events.triggerEvent("changelayer", {
layer: layer, property: "order"
});
if(this.allOverlays) {
if(idx === 0) {
this.setBaseLayer(layer);
} else if(this.baseLayer !== this.layers[0]) {
this.setBaseLayer(this.layers[0]);
}
}
}
},
Regards,
Andreas.
On Oct 15, 2010, at 15:39 , Alexandre Saunier wrote:
> Hello all!
>
> it seems to me there is a little inconsistence between the OpenLayers
> stack order and the order of layers transmitted to the print module by
> the PrintProvider.
>
> In OL, layers are stacked using the layers' z-indices, not according
> the map.layers order.
>
> In the print() method of GeoExt.data.PrintProvider, layers are listed
> in the print request using the following piece of code:
> var pagesLayer = pages[0].feature.layer;
> var encodedLayers = [];
> Ext.each(map.layers, function(layer){
> if(layer !== pagesLayer && layer.getVisibility() === true) {
> var enc = this.encodeLayer(layer);
> enc && encodedLayers.push(enc);
> }
> }, this);
> jsonData.layers = encodedLayers;
> => layers are listed using the map.layers order.
> Then in the generated PDF, layers are stacked in the same order, no
> matter if a given layer should appear above the others because it has
> a greater z-index in the OL map.
>
> I'm wondering if it would not be more relevant to sort map.layers
> according to the layers' z-indices before adding layers to the
> encodedLayers list? Is it worth submitting a patch about that issue?
>
> Thanks,
> alex
> _______________________________________________
> Dev mailing list
> [email protected]
> http://www.geoext.org/cgi-bin/mailman/listinfo/dev
--
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.
_______________________________________________
Dev mailing list
[email protected]
http://www.geoext.org/cgi-bin/mailman/listinfo/dev