Estoy probando para saber si mi ubicación actual está dentro del radio de ubicación (300 m). si es sí devuelve verdadero. de lo contrario devolver falso
por favor encuentre a continuación el código que está usando actualmente
<body> <button onclick="getLocation()">Try It</button> <p id="demo"></p> <script> //below returant location var resturantLat = 47.55522178620101; var resturantLon = -122.34152897937625; var radius = 300 //show my current location in page var myLocation = document.getElementById("demo"); //get my current location function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else { myLocation.innerHTML = "Geolocation is not supported by this browser."; } } function showPosition(position) { myLocation.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude; } var myLocationLat = position.coords.latitude; var myLocationLon = position.coords.longitude; /* if (my location inside radius){return true} else { return false} */ </script> </body>encontré la respuesta
var validDistance = 500; function distance(lat1, lon1, lat2, lon2, unit) { var radlat1 = Math.PI * lat1/180 var radlat2 = Math.PI * lat2/180 var radlon1 = Math.PI * lon1/180 var radlon2 = Math.PI * lon2/180 var theta = lon1-lon2 var radtheta = Math.PI * theta/180 var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta); dist = Math.acos(dist) dist = dist * 180/Math.PI dist = dist * 60 * 1.1515 if (unit=="K") { dist = dist * 1.609344 } if (unit=="N") { dist = dist * 0.8684 } if (unit=="M") { dist = dist * 1000 } return dist } check = distance(24.80184269562203,46.85365721077833,50.80047136281515,46.8539082886313,"M"); if(check <validDistance){ document.getElementById("demo").innerHTML = "true"; } else { document.getElementById("demo").innerHTML = "false"; }