destinationPoint static method
Calculates a destination point from a given starting point, distance, and bearing.
This is an alternative implementation to offset. See http://www.movable-type.co.uk/scripts/latlon.js
Implementation
static ILatLong destinationPoint(ILatLong start, double distance, double bearing) {
double theta = degToRadian(bearing);
double delta = distance / EQUATORIAL_RADIUS; // angular distance in radians
double phi1 = degToRadian(start.latitude);
double lambda1 = degToRadian(start.longitude);
double phi2 = asin(sin(phi1) * cos(delta) + cos(phi1) * sin(delta) * cos(theta));
double lambda2 = lambda1 + atan2(sin(theta) * sin(delta) * cos(phi1), cos(delta) - sin(phi1) * sin(phi2));
return LatLong(radianToDeg(phi2), radianToDeg(lambda2));
}