getLatLngFromAPoint static method
Implementation
static LatLng getLatLngFromAPoint(LatLng pt, int distance,double bearing) {
bearing = bearing/180 * pi;
num lat1Rad = MathUtil.toRadians(pt.latitude);
num long1Rad = MathUtil.toRadians(pt.longitude);
num d = distance/GeoUtil.EARTH_RADIUS;
num lat2Rad = asin(sin(lat1Rad)*cos(d) + cos(lat1Rad)*sin(d)*cos(bearing));
num long2Rad = long1Rad + atan2(sin(bearing) * sin(d)*cos(lat1Rad),
cos(d)-sin(lat1Rad)*sin(lat2Rad));
// normalise to -180..+180°
long2Rad = (long2Rad + 3 * pi) % (2 * pi) - pi;
return LatLng(
MathUtil.toDegrees(lat2Rad).toDouble(),
MathUtil.toDegrees(long2Rad).toDouble(),
);
}