nearestSegmentPoint static method
Returns a point on the segment nearest to the specified point.
libGDX (Apache 2.0)
Implementation
static LatLong nearestSegmentPoint(double startX, double startY, double endX, double endY, double pointX, double pointY) {
double xDiff = endX - startX;
double yDiff = endY - startY;
double length2 = xDiff * xDiff + yDiff * yDiff;
if (length2 == 0) return LatLong(startY, startX);
double t = ((pointX - startX) * (endX - startX) + (pointY - startY) * (endY - startY)) / length2;
if (t < 0) return LatLong(startY, startX);
if (t > 1) return LatLong(endY, endX);
return LatLong(startY + t * (endY - startY), startX + t * (endX - startX));
}