JSFiddle - React, Tailwind, and code Playground

by dpa99c

JavaScript

$(document).ready(function(){
    var directionTolerace = 20; //meters
    
    var directionPoint = new LatLon(50.369428019968815, -4.608574211597443);
    var prevPosition = new LatLon(50.3686757, -4.6085711);
    var currPosition = new LatLon(50.3686889, -4.6085762);
    
    var distFromCurrToDir = currPosition.distanceTo(directionPoint)*1000;
    var distFromPrevToCurr = prevPosition.distanceTo(currPosition)*1000;
    var constrainedCrosstrack = directionPoint.constrainedCrossTrackDistance(prevPosition, currPosition)*1000;
    
    $('body').append('<p>Distance from prev pos to current pos: '+distFromPrevToCurr+'m</p>');
    
    $('body').append('<p>Distance from current pos to dir point: '+distFromCurrToDir+'m</p>');
    $('body').append('<p>Direction visited by radius: '+(distFromCurrToDir<directionTolerace)+'</p>');
    
    $('body').append('<p>Constrained crosstrack distance: '+constrainedCrosstrack+'m</p>');
    $('body').append('<p>Direction visited by crosstrack: '+(constrainedCrosstrack<directionTolerace)+'</p>');
    
});




/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  */
/*  Latitude/longitude spherical geodesy formulae & scripts (c) Chris Veness 2002-2012            */
/*   - www.movable-type.co.uk/scripts/latlong.html                                                */
/*                                                                                                */
/*  Sample usage:                                                                                 */
/*    var p1 = new LatLon(51.5136, -0.0983);                                                      */
/*    var p2 = new LatLon(51.4778, -0.0015);                                                      */
/*    var dist = p1.distanceTo(p2);          // in km                                             */
/*    var brng = p1.bearingTo(p2);           // in degrees clockwise from north                   */
/*    ... etc                 ...