Add ol.geom.MultiPoint#closestPointXY

This commit is contained in:
Tom Payne
2013-12-07 12:45:02 +01:00
parent cf659f0753
commit 99042c956a

View File

@@ -19,6 +19,27 @@ ol.geom.MultiPoint = function(coordinates, opt_layout) {
goog.inherits(ol.geom.MultiPoint, ol.geom.Geometry);
/**
* @inheritDoc
*/
ol.geom.MultiPoint.prototype.closestPointXY =
function(x, y, closestPoint, minSquaredDistance) {
var flatCoordinates = this.flatCoordinates;
var stride = this.stride;
var i, ii;
for (i = 0, ii = flatCoordinates.length; i < ii; i += stride) {
var squaredDistance = ol.geom.flat.squaredDistance(
x, y, flatCoordinates[i], flatCoordinates[i + 1]);
if (squaredDistance < minSquaredDistance) {
minSquaredDistance = squaredDistance;
closestPoint[0] = flatCoordinates[i];
closestPoint[1] = flatCoordinates[i + 1];
}
}
return minSquaredDistance;
};
/**
* @return {ol.geom.RawMultiPoint} Coordinates.
*/