Geolocation closest location(lat, long) from my position

前端 未结 3 1797
感情败类
感情败类 2020-11-30 21:23

I want to show specific information depending on where i am.

I have five cities with different information, and i want to show that city(information) that i\'m close

3条回答
  •  星月不相逢
    2020-11-30 22:02

    With HTML5, you can pull the location of the user and then compares this example using a Haversine function (function below taken from here):

    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)
    }
    

提交回复
热议问题