bugfix to store shortest distance to route within the the closest
point no longer required
This commit is contained in:
parent
afb70126ad
commit
94ad1003e9
@ -78,7 +78,7 @@ drawDragMarker: function(event) {
|
|||||||
|
|
||||||
// get distance to route
|
// get distance to route
|
||||||
var minpoint = OSRM.G.route._current_route.route.closestLayerPoint( event.layerPoint );
|
var minpoint = OSRM.G.route._current_route.route.closestLayerPoint( event.layerPoint );
|
||||||
var min_dist = minpoint ? minpoint._sqDist : 1000;
|
var min_dist = minpoint ? minpoint.distance : 1000;
|
||||||
|
|
||||||
// get distance to markers
|
// get distance to markers
|
||||||
var mouse = event.latlng;
|
var mouse = event.latlng;
|
||||||
@ -109,7 +109,7 @@ drawDragMarker: function(event) {
|
|||||||
min_dist = 1000;
|
min_dist = 1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( min_dist < 400) {
|
if( min_dist < 20) {
|
||||||
OSRM.G.markers.dragger.setPosition( OSRM.G.map.layerPointToLatLng(minpoint) );
|
OSRM.G.markers.dragger.setPosition( OSRM.G.map.layerPointToLatLng(minpoint) );
|
||||||
OSRM.G.markers.dragger.show();
|
OSRM.G.markers.dragger.show();
|
||||||
} else
|
} else
|
||||||
|
@ -19,36 +19,4 @@ or see http://www.gnu.org/licenses/agpl.txt.
|
|||||||
// [assorted bugfixes to Leaflet functions we use]
|
// [assorted bugfixes to Leaflet functions we use]
|
||||||
|
|
||||||
|
|
||||||
// return closest point on segment or distance to that point
|
// none at the moment, thanks to Leaflet 0.4+
|
||||||
L.LineUtil._sqClosestPointOnSegment = function (p, p1, p2, sqDist) {
|
|
||||||
var x = p1.x,
|
|
||||||
y = p1.y,
|
|
||||||
dx = p2.x - x,
|
|
||||||
dy = p2.y - y,
|
|
||||||
dot = dx * dx + dy * dy,
|
|
||||||
t;
|
|
||||||
|
|
||||||
if (dot > 0) {
|
|
||||||
t = ((p.x - x) * dx + (p.y - y) * dy) / dot;
|
|
||||||
|
|
||||||
if (t > 1) {
|
|
||||||
x = p2.x;
|
|
||||||
y = p2.y;
|
|
||||||
} else if (t > 0) {
|
|
||||||
x += dx * t;
|
|
||||||
y += dy * t;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dx = p.x - x;
|
|
||||||
dy = p.y - y;
|
|
||||||
|
|
||||||
// DS_CHANGE: modified return values
|
|
||||||
if(sqDist)
|
|
||||||
return dx*dx + dy*dy;
|
|
||||||
else {
|
|
||||||
var p = new L.Point(x,y);
|
|
||||||
p._sqDist = dx*dx + dy*dy;
|
|
||||||
return p;
|
|
||||||
}
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user