计算地球上2点之间的距离
2016-05-01 11:27
309 查看
// 这个函数取2个坐标,一个起点坐标和一个终点坐标,并返回二者之间的距离(千米) function computeDistance(startCoords,destCoords){ var startLatRads = degreesToRadians(startCoords.latitude); var startLoingRads = degreesToRadians(startCoords.longitude); var destLatRads = degreesToRadians(destCoords.latitude); var destLongRads = degreesToRadians(destCoords.longitude); var Radius = 6371; //radius of the Earth in km var distance = Math.acos(Math.sin(startLatRads) * Math.sin(destLatRads) + Math.cos(startLatRads) * Math.cos(destLatRads) * Math.cos(startLoingRads - destLongRads)) * Radius; return distance; } function degreesToRadians(degrees){ var radians = (degrees * Math.PI) / 180; return radians; }
测试:
// 测试 var startCoords = { latitude: 29.8604472, longitude:121.498982 }; var destCoords = { latitude: 47.624851, longitude:-122.52099 }; var km = computeDistance(startCoords,destCoords); alert(km); //9293.980559898791
相关文章推荐
- 网站导航菜单 远择一个栏目跳转后,保持栏目为选中状态
- 寻找你的乘法人生—徐大伟_David
- Android开发系列二之窗口Activity的生命周期
- 7.3 命名空间
- WEB-INF 有关的目录路径问题总结
- Jvm垃圾回收堆内存变化过程
- 关于内存访问与修改
- 同余取模。。
- 【HUSTOJ】1005: 位数对调
- 【自考】又到自考总结季
- 微信公众号的开发之旅(2)-- mysql数据库的建立与Java代码建立
- 各种int的范围
- CSU oj 1726 你经历过绝望吗?两次!
- 寄存器和存储器的区别?
- 高精度加法运算
- 第 25 章 CSS3 过渡效果
- 75、myeclipse配置jdk
- 函数名与函数指针
- Activity的启动模式总结
- c# 保留两位小数