geolocation - Calculating distance between lat long with javascript only returns NaN -
geolocation - Calculating distance between lat long with javascript only returns NaN -
so have next piece of javascript, , have no thought why maintain getting nan whenever seek console log stuff within distance function. if log lat1, i'm getting nan. happens within getdistance function, anywhere else working fine. rest of function isn't working since returns nan.
(function(){ var lat = 52.387388 ; //example lat var lon = 4.646219 ; //example lon function initcoords() { if (navigator.geolocation) { navigator.geolocation.getcurrentposition(createlatlong); } else { showerror("your browser not back upwards geolocation!"); } } function createlatlong(position) { var lat2 = position.coords.latitude; var long2 = position.coords.longitude; console.log(lat + "createlatlong"); getdistance(); } function getdistance(lat, lon, lat2, long2) { var r = 6371; var dlat = (lat2-lat) * math.pi / 180; var dlon = (long2-lon) * math.pi / 180; var = math.sin(dlat/2) * math.sin(dlat/2) + math.cos(lat * math.pi / 180 ) * math.cos(lat2 * math.pi / 180 ) * math.sin(dlon/2) * math.sin(dlon/2); var c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a)); var d = r * c; homecoming d; } window.onload = initcoords; })(); here's a fiddle
you're declaring "getdistance()" function parameters hide variables declared outside function. either pass parameters in when phone call it:
getdistance(lat, lon, lat2, long2); or else rid of formal parameters in function declaration.
javascript geolocation distance nan great-circle
Comments
Post a Comment