static PointLatLng findClosestPoint(PointLatLng start, GCSViews.FlightPlanner.linelatlng line) { List <PointLatLng> list = new List <PointLatLng>(); list.Add(line.p1); list.Add(line.p2); PointLatLng closest = findClosestPoint(start, list); return(closest); }
static Grid.linelatlng findClosestLine(PointLatLng start, List <GCSViews.FlightPlanner.linelatlng> list) { GCSViews.FlightPlanner.linelatlng answer = list[0]; double shortest = double.MaxValue; foreach (GCSViews.FlightPlanner.linelatlng line in list) { double ans1 = GetDistance(start, line.p1); double ans2 = GetDistance(start, line.p2); PointLatLng shorterpnt = ans1 < ans2 ? line.p1 : line.p2; if (shortest > GetDistance(start, shorterpnt)) { answer = line; shortest = GetDistance(start, shorterpnt); } } return(answer); }