通过经纬度计算俩点之间的距离

来源:互联网 发布:单片机应用技术 推荐 编辑:程序博客网 时间:2024/05/16 04:24
 
  1. function distance(lat1,lon1,lat2,lon2) {//获取地图上俩个点之间的距离  
  2.     var R = 6378// 地球半径 单位km  
  3.     var dLat = (lat2-lat1) * Math.PI / 180;   
  4.     var dLon = (lon2-lon1) * Math.PI / 180;    
  5.     var a = Math.sin(dLat/2) * Math.sin(dLat/2) +   
  6.         Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) *    
  7.         Math.sin(dLon/2) * Math.sin(dLon/2);    
  8.     var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));    
  9.     var d = R * c;   
  10.     return d;   
  11. }