Preserve extra dimensions in ol.geom.Point#closestPointXY

This commit is contained in:
Tom Payne
2014-01-20 09:29:05 +01:00
parent 6f0f42040c
commit 2da724572a
2 changed files with 15 additions and 2 deletions

View File

@@ -40,8 +40,12 @@ ol.geom.Point.prototype.closestPointXY =
var squaredDistance = ol.geom.flat.squaredDistance(
x, y, flatCoordinates[0], flatCoordinates[1]);
if (squaredDistance < minSquaredDistance) {
closestPoint[0] = flatCoordinates[0];
closestPoint[1] = flatCoordinates[1];
var stride = this.stride;
var i;
for (i = 0; i < stride; ++i) {
closestPoint[i] = flatCoordinates[i];
}
closestPoint.length = stride;
return squaredDistance;
} else {
return minSquaredDistance;

View File

@@ -95,6 +95,15 @@ describe('ol.geom.Point', function() {
expect(point.getStride()).to.be(4);
});
describe('#getClosestPoint', function() {
it('preseves extra dimensions', function() {
var closestPoint = point.getClosestPoint([0, 0]);
expect(closestPoint).to.eql([1, 2, 3, 4]);
});
});
});
});