add support for the ol:tileSize layer property in WMC, p=fvanderbiest,r=me (Closes #2740)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@10491 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
pgiraud
2010-07-15 15:01:36 +00:00
parent 67b0c7180f
commit 2a30747bd9
4 changed files with 30 additions and 3 deletions

View File

@@ -128,6 +128,11 @@ OpenLayers.Format.Context = OpenLayers.Class({
opacity: layerContext.opacity,
displayInLayerSwitcher: layerContext.displayInLayerSwitcher,
singleTile: layerContext.singleTile,
tileSize: (layerContext.tileSize) ?
new OpenLayers.Size(
layerContext.tileSize.width,
layerContext.tileSize.height
) : undefined,
minScale: layerContext.minScale || layerContext.maxScaleDenominator,
maxScale: layerContext.maxScale || layerContext.minScaleDenominator
};

View File

@@ -75,6 +75,8 @@ OpenLayers.Format.WMC = OpenLayers.Class(OpenLayers.Format.Context, {
opacity: layer.opacity,
displayInLayerSwitcher: layer.displayInLayerSwitcher,
singleTile: layer.singleTile,
tileSize: (layer.singleTile || !layer.tileSize) ?
undefined : {width: layer.tileSize.w, height: layer.tileSize.h},
minScale : (layer.options.resolutions ||
layer.options.scales ||
layer.options.maxResolution ||

View File

@@ -231,6 +231,14 @@ OpenLayers.Format.WMC.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
layerContext.singleTile = (this.getChildValue(node) == "true");
},
/**
* Method: read_ol_tileSize
*/
read_ol_tileSize: function(layerContext, node) {
var obj = {"width": node.getAttribute("width"), "height": node.getAttribute("height")};
layerContext.tileSize = obj;
},
/**
* Method: read_ol_isBaseLayer
*/
@@ -618,6 +626,14 @@ OpenLayers.Format.WMC.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
});
node.appendChild(maxExtent);
if (context.tileSize && !context.singleTile) {
var size = this.createElementNS(
this.namespaces.ol, "ol:tileSize"
);
this.setAttributes(size, context.tileSize);
node.appendChild(size);
}
var properties = [
"transparent", "numZoomLevels", "units", "isBaseLayer",
"opacity", "displayInLayerSwitcher", "singleTile"

File diff suppressed because one or more lines are too long