Add ol.extent.closestSquaredDistanceXY
This commit is contained in:
@@ -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.
|
* Checks if the passed coordinate is contained or on the edge of the extent.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user