js计算两个经纬度之间的直线距离
/** 两点的直线距离 */ class Distance { /** * @class Distance * @method val * @param {number} start_lat - 起点的纬度 * @param {number} start_lon - 起点的经度 * @param {number} end_lat - 终点的纬度 * @param {number} end_lon - 终点的经度 * @return {number} 距离千米/公里 * @description 根据两点的经纬度计算两点之间直线距离,实际路程建议直线距离乘以1.4 * @example * import { distance } from '../../../utils/distance'; * distance.val(40.1835390,115.823092,40.4411433,119.882540) */ val(start_lat:number, start_lon:number, end_lat:number, end_lon:number):number { let radLat1 = (start_lat * Math.PI) / 180.0; let radLat2 = (end_lat * Math.PI) / 180.0; let a = radLat1 - radLat2; let b = (start_lon * Math.PI) / 180.0 - (end_lon * Math.PI) / 180.0; let 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 * 6378.137; // 地球半径; s = Math.round(s * 10000) / 10000; return s; } } export const distance = new Distance();
再忙也别忘记学习
分类:
uniapp
, javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义