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:
@@ -128,6 +128,11 @@ OpenLayers.Format.Context = OpenLayers.Class({
|
|||||||
opacity: layerContext.opacity,
|
opacity: layerContext.opacity,
|
||||||
displayInLayerSwitcher: layerContext.displayInLayerSwitcher,
|
displayInLayerSwitcher: layerContext.displayInLayerSwitcher,
|
||||||
singleTile: layerContext.singleTile,
|
singleTile: layerContext.singleTile,
|
||||||
|
tileSize: (layerContext.tileSize) ?
|
||||||
|
new OpenLayers.Size(
|
||||||
|
layerContext.tileSize.width,
|
||||||
|
layerContext.tileSize.height
|
||||||
|
) : undefined,
|
||||||
minScale: layerContext.minScale || layerContext.maxScaleDenominator,
|
minScale: layerContext.minScale || layerContext.maxScaleDenominator,
|
||||||
maxScale: layerContext.maxScale || layerContext.minScaleDenominator
|
maxScale: layerContext.maxScale || layerContext.minScaleDenominator
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ OpenLayers.Format.WMC = OpenLayers.Class(OpenLayers.Format.Context, {
|
|||||||
opacity: layer.opacity,
|
opacity: layer.opacity,
|
||||||
displayInLayerSwitcher: layer.displayInLayerSwitcher,
|
displayInLayerSwitcher: layer.displayInLayerSwitcher,
|
||||||
singleTile: layer.singleTile,
|
singleTile: layer.singleTile,
|
||||||
|
tileSize: (layer.singleTile || !layer.tileSize) ?
|
||||||
|
undefined : {width: layer.tileSize.w, height: layer.tileSize.h},
|
||||||
minScale : (layer.options.resolutions ||
|
minScale : (layer.options.resolutions ||
|
||||||
layer.options.scales ||
|
layer.options.scales ||
|
||||||
layer.options.maxResolution ||
|
layer.options.maxResolution ||
|
||||||
|
|||||||
@@ -231,6 +231,14 @@ OpenLayers.Format.WMC.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
layerContext.singleTile = (this.getChildValue(node) == "true");
|
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
|
* Method: read_ol_isBaseLayer
|
||||||
*/
|
*/
|
||||||
@@ -618,6 +626,14 @@ OpenLayers.Format.WMC.v1 = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
});
|
});
|
||||||
node.appendChild(maxExtent);
|
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 = [
|
var properties = [
|
||||||
"transparent", "numZoomLevels", "units", "isBaseLayer",
|
"transparent", "numZoomLevels", "units", "isBaseLayer",
|
||||||
"opacity", "displayInLayerSwitcher", "singleTile"
|
"opacity", "displayInLayerSwitcher", "singleTile"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user