$( document ).ready(function() { get_distances(); }); function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) { var R = 6371; // Radius of the earth in km var dLat = deg2rad(lat2-lat1); // deg2rad below var dLon = deg2rad(lon2-lon1); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2) ; var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; // Distance in km return d; } function deg2rad(deg) { return deg * (Math.PI/180) } function get_by_cat(obj, ID){ $('.orderlist-div').toggleClass('d-none',true); $('.cat-'+ID).toggleClass('d-none',false); $('.categories li').toggleClass('active', false ); $(obj).toggleClass('active',true); } function get_distances(){ var url_string = window.location.href; var url = new URL(url_string); var lat = url.searchParams.get('lat'); var long = url.searchParams.get('long'); if( lat == null || long == null ){ lat=-100; } if( lat >= -90 && lat <= 90 && long >=-180 && long <= 180 ){ } else { return; } $.each( $('.distance'), function(i,v){ var geo=$( $(v).context.previousElementSibling ).text(); var llat=geo.split(/,/g)[0]; var llong=geo.split(/,/g)[1]; $(v).html('<span class="feather-icon icon-map-pin"></span> ' + Math.round( getDistanceFromLatLonInKm (lat, long, llat, llong ) )+'km' ); } ); }