Example #1
0
        protected virtual async Task DoMinorSteps(GeoCoordinate startingLocation, GeoCoordinate destinationLocation, double bearing)
        {
            GeoCoordinate waypoint = GeoDesyTools.CalculateNextWaypoint(startingLocation, bearing, StepLength);

            TrackLocation(waypoint);
            //_logger.Trace("Calculated intermediary waypoint: {0}", waypoint);

            double distanceToDestination = waypoint.GetDistanceTo(destinationLocation);
            //_logger.Trace("{0:0.0#}m to destination {1}.", distanceToDestination, destinationLocation);

            await Task.Delay(1300);

            if (distanceToDestination > StepLength)
            {
                await DoMinorSteps(waypoint, destinationLocation, bearing);
            }
        }
Example #2
0
 protected virtual double CalculateBearing(GeoCoordinate startingLocation, GeoCoordinate destinationLocation)
 {
     return(GeoDesyTools.CalculateBearing(startingLocation, destinationLocation));
 }