From 66f1826358de97e1a8a1af03fb661eecc2d7a86a Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Mon, 9 Dec 2013 11:30:28 +0000 Subject: [PATCH] Add ol.extent.closestSquaredDistanceXY --- src/ol/extent.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/ol/extent.js b/src/ol/extent.js index b396d8c33d..762d26a3d0 100644 --- a/src/ol/extent.js +++ b/src/ol/extent.js @@ -84,6 +84,32 @@ ol.extent.clone = function(extent, opt_extent) { }; +/** + * @param {ol.Extent} extent Extent. + * @param {number} x X. + * @param {number} y Y. + * @return {number} Closest squared distance. + */ +ol.extent.closestSquaredDistanceXY = function(extent, x, y) { + var dx, dy; + if (x < extent[0]) { + dx = extent[0] - x; + } else if (extent[2] < x) { + dx = x - extent[2]; + } else { + dx = 0; + } + if (y < extent[1]) { + dy = extent[1] - y; + } else if (extent[3] < y) { + dy = y - extent[3]; + } else { + dy = 0; + } + return dx * dx + dy * dy; +}; + + /** * Checks if the passed coordinate is contained or on the edge of the extent. *