Using new squaredDistanceToSegment and closestOnSegment

This commit is contained in:
ahocevar
2013-11-04 23:10:45 +01:00
parent 0e673a492a
commit 319f78fb94

View File

@@ -280,8 +280,8 @@ ol.interaction.Modify.prototype.handleMouseMove_ = function(evt) {
var pixel = evt.getPixel(); var pixel = evt.getPixel();
var pixelCoordinate = map.getCoordinateFromPixel(pixel); var pixelCoordinate = map.getCoordinateFromPixel(pixel);
var sortByDistance = function(a, b) { var sortByDistance = function(a, b) {
return ol.coordinate.closestOnSegment(pixelCoordinate, a[0])[2] - return ol.coordinate.squaredDistanceToSegment(pixelCoordinate, a[0]) -
ol.coordinate.closestOnSegment(pixelCoordinate, b[0])[2]; ol.coordinate.squaredDistanceToSegment(pixelCoordinate, b[0]);
}; };
var lowerLeft = map.getCoordinateFromPixel( var lowerLeft = map.getCoordinateFromPixel(
@@ -308,8 +308,7 @@ ol.interaction.Modify.prototype.handleMouseMove_ = function(evt) {
if (segments.length > 0) { if (segments.length > 0) {
segments.sort(sortByDistance); segments.sort(sortByDistance);
var segment = segments[0][0]; // the closest segment var segment = segments[0][0]; // the closest segment
var vertex = /** @type {ol.Coordinate} */ var vertex = (ol.coordinate.closestOnSegment(pixelCoordinate, segment));
(ol.coordinate.closestOnSegment(pixelCoordinate, segment));
var vertexPixel = map.getPixelFromCoordinate(vertex); var vertexPixel = map.getPixelFromCoordinate(vertex);
if (Math.sqrt(ol.coordinate.squaredDistance(pixel, vertexPixel)) <= if (Math.sqrt(ol.coordinate.squaredDistance(pixel, vertexPixel)) <=
this.pixelTolerance_) { this.pixelTolerance_) {