摘要:版通过两个坐标计算两点之间实际距离因为考虑到地球的半径,准确度还行其实是直接把这篇文章的版改成版而已计算两个点的距离出处使用例子,计算广州到韶关的距离经度,纬度第一个和第二个参数可以写成对象,表示第一个和第二个点的单位为千米地球半径,单位千
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
摘要:基础知识工会名称项目第个工作组局域网标准无线局域网层,物理层技术规范开放互联参考模型的七层架构应用,表示,会话,传输,网络,数据链路,物理数据链路层逻辑链路控制子层媒介访问控制子层只涉及层媒介不同的媒介无线有线冲突检测边发送边监听冲突避免 WiFi篇 一。Netd 是守护进程;Netd是Android系统中专门负责网络管理和控制的后台daemon程序;位于Framework层和Kern...
摘要:操作指南操作指南操作指南注册账号注册账号快速测试快速测试华北一面向国内云手机场景广州主要面向非大陆的云手机场景,同时也支持国内场景独立和共享带宽为可选项,不选的话也可以使用但用的是服务器,选中后可以用于云手机防关联和实 操作指南注册账号 快速测试 华北一面向国内云手机场景;广州主要面向非大陆的云手机场景,同时也支持国内场景; 独立IP和共享带宽为可选项,不选的话也可以使用但用的是服务器...
阅读 1201·2021-09-26 10:15
阅读 2350·2021-09-24 10:37
阅读 2841·2019-08-30 13:46
阅读 2910·2019-08-30 11:16
阅读 2653·2019-08-29 10:56
阅读 2735·2019-08-26 12:24
阅读 3647·2019-08-23 18:26
阅读 2846·2019-08-23 15:43