通过经纬度测长度和面积

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>

<script>
/**
40.847732,120.126663
40.847714,120.126882
40.847415,120.126606
40.847393,120.126826
**/
var FINAL = 6378137.0  
            
        /**
         * 求某个经纬度的值的角度值
         * @param {Object} d
         */  
        function calcDegree(d){  
            return d*Math.PI/180.0 ;  
        }  
            
        /**
         * 根据两点经纬度值,获取两地的实际相差的距离
         * @param {Object} f    第一点的坐标位置[latitude,longitude]
         * @param {Object} t    第二点的坐标位置[latitude,longitude]
         */  
        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 ;  
        }  
            
        window.alert("东西: "+calcDistance(
[40.847726,120.126663],[40.84771,120.126885]));
        window.alert("南北: "+calcDistance(
[40.847726,120.126663],[40.847417,120.126601]));
        window.alert("面积: "+calcDistance(
[40.847726,120.126663],[40.847417,120.126601])*calcDistance(
[40.847726,120.126663],[40.84771,120.126885])/666.66666666667);

</script>
 </head>

 <body>
 
 </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值