首页 新随笔 联系 订阅 管理 个人网站

经纬度换算

//km换算
            var FINAL = 6378137.0   
            function calcDegree(d){
              return d*Math.PI/180.0 ;
            }   
 
            function calcDistance(f,t){
              var flat = calcDegree(f[0]) ;
              var flng = calcDegree(f[1]) ;
              var tlat = calcDegree(t[0]) ;
              var tlng = calcDegree(t[1])  ;   
   
              var result = Math.sin(flat)*Math.sin(tlat) ;
              result += Math.cos(flat)*Math.cos(tlat)*Math.cos(flng-tlng) ;
              return Math.acos(result)*FINAL ;
            }
            //保留小数点后一位
            var km = calcDistance([31.303357,121.329748],[31.303357,121.329748]);           前面减后面的值。

            km/1000              得出来的就是距离值 

posted @ 2015-01-16 11:45  __不粘锅  阅读(496)  评论(0编辑  收藏  举报