Merge pull request #760 from ahocevar/wmscaps-scalehint
Correct handling of 0 and Infinity ScaleHint. r=@marcjansen
This commit is contained in:
@@ -78,14 +78,18 @@ OpenLayers.Format.WMSCapabilities.v1_1 = OpenLayers.Class(
|
||||
var max = node.getAttribute("max");
|
||||
var rad2 = Math.pow(2, 0.5);
|
||||
var ipm = OpenLayers.INCHES_PER_UNIT["m"];
|
||||
obj.maxScale = parseFloat(
|
||||
((min / rad2) * ipm *
|
||||
OpenLayers.DOTS_PER_INCH).toPrecision(13)
|
||||
);
|
||||
obj.minScale = parseFloat(
|
||||
((max / rad2) * ipm *
|
||||
OpenLayers.DOTS_PER_INCH).toPrecision(13)
|
||||
);
|
||||
if (min != 0) {
|
||||
obj.maxScale = parseFloat(
|
||||
((min / rad2) * ipm *
|
||||
OpenLayers.DOTS_PER_INCH).toPrecision(13)
|
||||
);
|
||||
}
|
||||
if (max != Number.POSITIVE_INFINITY) {
|
||||
obj.minScale = parseFloat(
|
||||
((max / rad2) * ipm *
|
||||
OpenLayers.DOTS_PER_INCH).toPrecision(13)
|
||||
);
|
||||
}
|
||||
},
|
||||
"Dimension": function(node, obj) {
|
||||
var name = node.getAttribute("name").toLowerCase();
|
||||
|
||||
@@ -10,6 +10,13 @@
|
||||
/**
|
||||
* Class: OpenLayers.Format.WMSCapabilities/v1_1_1
|
||||
* Read WMS Capabilities version 1.1.1.
|
||||
*
|
||||
* Note on <ScaleHint> parsing: If the 'min' attribute is set to "0", no
|
||||
* maxScale will be set on the layer object. If the 'max' attribute is set to
|
||||
* "Infinity", no minScale will be set. This makes it easy to create proper
|
||||
* {<OpenLayers.Layer.WMS>} configurations directly from the layer object
|
||||
* literals returned by this format, because no minScale/maxScale modifications
|
||||
* need to be made.
|
||||
*
|
||||
* Inherits from:
|
||||
* - <OpenLayers.Format.WMSCapabilities.v1_1>
|
||||
|
||||
Reference in New Issue
Block a user