企业官网建站 小程序开发 云逸学习园地
技术文章 许愿墙
技术文章 PHP学习 Javascript学习 DIV+CSS学习 uniapp学习 HTML学习 微信小程序、公众号知识点 VUE知识学习
您所在的位置>云逸小栈>Javascript学习>正文

js根据经纬度,计算两地之间的距离

2024-03-26 12:46:29 浏览 2749

函数:

   //根据经纬度计算两点之间的距离
   /**
	* @param lat1 第一个地点的纬度
	* @param lon1 第一个地点的经度 
	* @param lat2 第二个地点的纬度
	* @param lon2 第二个地点的经度
    */
   calculateDistance(lat1, lon1, lat2, lon2) {
       const R = 6371; // 地球半径,单位为千米
       const dLat = ($lat2 - $lat1) * Math.PI / 180;
       const dLon = ($lon2 - $lon1) * Math.PI / 180;
       const a = Math.sin(dLat/2) * Math.sin(dLat/2) +
                 Math.cos($lat1 * Math.PI / 180) * Math.cos($lat2 * Math.PI / 180) *
                 Math.sin(dLon/2) * Math.sin(dLon/2);
       const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
       const distance = R * c;
       return distance;
   }
   
   // 两地的经纬度坐标
   const lat1 = 40.7128; // 第一个地点的纬度
   const lon1 = -74.0060; // 第一个地点的经度
   const lat2 = 34.0522; // 第二个地点的纬度
   const lon2 = -118.2437; // 第二个地点的经度
   const distance = calculateDistance(lat1, lon1, lat2, lon2);
   console.log('两地之间的距离为:' + distance + ' 千米');


网站开发者电话

18066742510

个人微信号
个人公众号
个人小程序
个人抖音