资讯专栏INFORMATION COLUMN

gps相关

khlbat / 1612人阅读

摘要:版通过两个坐标计算两点之间实际距离因为考虑到地球的半径,准确度还行其实是直接把这篇文章的版改成版而已计算两个点的距离出处使用例子,计算广州到韶关的距离经度,纬度第一个和第二个参数可以写成对象,表示第一个和第二个点的单位为千米地球半径,单位千

1、JavaScript版:通过两个gps坐标计算两点之间实际距离(因为考虑到地球的半径,准确度还行)
其实是直接把这篇文章的java版改成js版而已

/**
 * 计算两个gps点的距离
 * 出处: http://blog.csdn.net/ztp800201/article/details/44676867
 * 使用例子,计算广州到韶关的距离 console.log(getDistance(24.82919,113.596248,23.143082,113.338686))
 * lng:经度,lat:纬度
 * @param aLat number 第一个和第二个参数可以写成对象{lat:23,lng:133},表示第一个和第二个点的lat+lng
 * @param aLng number
 * @param bLat number
 * @param bLng number
 * @return number 单位为千米
 * */
var getDistance = function(aLat,aLng,bLat,bLng){
    var EARTH_RADIUS = 6378.137;//地球半径,单位千米

    if(typeof aLat=="object"){
        bLat = aLng.lat;
        bLng = aLng.lng;
        aLng = aLat.lng;
        aLat = aLat.lat;
    }
    if(!(aLat&&aLng&&bLat&&bLng)){
        console.error("[getDistance]参数不足");
        return;
    }

    function rad(d){
        return d * Math.PI / 180.0;
    }

    function GetDistance(lat1, lng1, lat2, lng2){
        var radLat1 = rad(lat1);
        var radLat2 = rad(lat2);
        var a = radLat1 - radLat2;
        var b = rad(lng1) - rad(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;
        return s;
    }

    return GetDistance(aLat,aLng,bLat,bLng);
};

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/85710.html

相关文章

  • 《深入理解Android WiFi NFC 和 GPS》读书笔记

    摘要:基础知识工会名称项目第个工作组局域网标准无线局域网层,物理层技术规范开放互联参考模型的七层架构应用,表示,会话,传输,网络,数据链路,物理数据链路层逻辑链路控制子层媒介访问控制子层只涉及层媒介不同的媒介无线有线冲突检测边发送边监听冲突避免 WiFi篇 一。Netd 是守护进程;Netd是Android系统中专门负责网络管理和控制的后台daemon程序;位于Framework层和Kern...

    Cheriselalala 评论0 收藏0
  • 操作指南 云手机服务器 UPhoneServer

    摘要:操作指南操作指南操作指南注册账号注册账号快速测试快速测试华北一面向国内云手机场景广州主要面向非大陆的云手机场景,同时也支持国内场景独立和共享带宽为可选项,不选的话也可以使用但用的是服务器,选中后可以用于云手机防关联和实 操作指南注册账号 快速测试 华北一面向国内云手机场景;广州主要面向非大陆的云手机场景,同时也支持国内场景; 独立IP和共享带宽为可选项,不选的话也可以使用但用的是服务器...

    ernest.wang 评论0 收藏1836

发表评论

0条评论

khlbat

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<