code: public LatLong getDestinationPoint(double bearing, double distance) {
  
          double brng = Math.toRadians(bearing);
  
          double lat1 = latToRadians();
          double lon1 = longToRadians();
  
          double lat2 = Math.asin(Math.sin(lat1)
                  * Math.cos(distance / EarthRadiusMeters)
                  + Math.cos(lat1) * Math.sin(distance / EarthRadiusMeters)
                  * Math.cos(brng));
  
          double lon2 = lon1 + Math.atan2(Math.sin(brng)
                  * Math.sin(distance / EarthRadiusMeters) * Math.cos(lat1),
                  Math.cos(distance / EarthRadiusMeters)
                  - Math.sin(lat1) * Math.sin(lat2));
  
          return new LatLong(Math.toDegrees(lat2), Math.toDegrees(lon2));
  
      }
docs: Calculates the LatLong position of the end point of a line the specified
  distance from this LatLong, along the provided bearing, where North is 0,
  East is 90 etc.
  
  @param bearing The bearing, in degrees, with North as 0, East as 90 etc.
  @param distance The distance in metres.
  @return A new LatLong indicating the end point.