起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2002|回复: 0

[分享] 取两坐标间的距离

[复制链接]

23

主题

77

帖子

421

积分

中级会员

Rank: 3Rank: 3

积分
421
QQ
发表于 2017-9-20 08:31:29 | 显示全部楼层 |阅读模式
Model.prototype.setdkq = function(event) {
var EARTH_RADIUS = 6378137.0;    //单位M
    var PI = Math.PI;
   
    function getRad(d){
        return d*PI/180.0;
    }
               function success(data){
              // alert(data.coords.longitude);
               //alert(data.coords.latitude);
                  //     var pointA = new BMap.Point(103.775327,29.583115);        
                                         // 公司地址坐标A
                                        // alert(data.coords.latitude);
                         alert(jsgetjl(103.775025,29.583264,data.coords.longitude,data.coords.latitude));
                        
                        }
                function fail(msg){
       $(self.getElementByXid('label1')).text("错误消息:"+msg);
    }
   
     function jsgetjl(lat1, lng1, lat2, lng2) {//计算距离
            var radLat1 = getRad(lat1);
        var radLat2 = getRad(lat2);
        
        var a = radLat1 - radLat2;
        var b = getRad(lng1) - getRad(lng2);
        
        var s = 2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) + Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
        s = s*EARTH_RADIUS;
        s = Math.round(s*10000)/10000.0;
        return s;
}
        navigator.geolocation.getCurrentPosition(success, fail, null);            
};
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-4-3 10:18 , Processed in 0.116008 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表