function jsmCalcRadiusPoint(lat, lon, radiusM, heading)
{
    var crLat = geoRadians(lat);          // radians
    var crLon = geoRadians(lon);          // radians
    var d     = radiusM / EARTH_RADIUS_METERS;
    var xrad  = geoRadians(heading);            // radians
    var rrLat = Math.asin(Math.sin(crLat) * Math.cos(d) + Math.cos(crLat) * Math.sin(d) * Math.cos(xrad));
    var rrLon = crLon + Math.atan2(Math.sin(xrad) * Math.sin(d) * Math.cos(crLat), Math.cos(d)-Math.sin(crLat) * Math.sin(rrLat));
    return new JSMapPoint(geoDegrees(rrLat), geoDegrees(rrLon));
}
/**
*** Returns a point that is 'radiusM' from the specified lat/lon in the 'heading' direction
*** @param lat     The Latitude
*** @param lon     The Longitude
*** @param radiusM The radius, in meters
*** @param heading The compass heading
*** @return A JSMapPoint
**/
Returns a point that is 'radiusM' from the specified lat/lon in the 'heading' direction
Returns a point that is ' radiusM ' from the specified lat / lon in the ' heading ' direction
function jsmCalcRadiusPoint(lat, lon, radiusM, heading)
{
    var crLat = geoRadians(lat);          
    var crLon = geoRadians(lon);          
    var d     = radiusM / EARTH_RADIUS_METERS;
    var xrad  = geoRadians(heading);            
    var rrLat = Math.asin(Math.sin(crLat) * Math.cos(d) + Math.cos(crLat) * Math.sin(d) * Math.cos(xrad));
    var rrLon = crLon + Math.atan2(Math.sin(xrad) * Math.sin(d) * Math.cos(crLat), Math.cos(d)-Math.sin(crLat) * Math.sin(rrLat));
    return new JSMapPoint(geoDegrees(rrLat), geoDegrees(rrLon));
}
function jsmCalcRadiusPoint ( lat , lon , radiusM , heading ) { var crLat = geoRadians ( lat ) ; var crLon = geoRadians ( lon ) ; var d = radiusM / EARTH_RADIUS_METERS ; var xrad = geoRadians ( heading ) ; var rrLat = Math . asin ( Math . sin ( crLat ) * Math . cos ( d ) + Math . cos ( crLat ) * Math . sin ( d ) * Math . cos ( xrad ) ) ; var rrLon = crLon + Math . atan2 ( Math . sin ( xrad ) * Math . sin ( d ) * Math . cos ( crLat ) , Math . cos ( d ) - Math . sin ( crLat ) * Math . sin ( rrLat ) ) ; return new JSMapPoint ( geoDegrees ( rrLat ) , geoDegrees ( rrLon ) ) ; }
Returns a point that is 'radiusM' from the specified lat/lon in the 'heading' direction
Returns a point that is ' radiusM ' from the specified lat / lon in the ' heading ' direction
// radians // radians // radians