JS 计算两个点(经纬度)的距离;判断某一点是否在某一区域范围内

这篇博客介绍了两种JavaScript方法来计算两个经纬度坐标点之间的距离,并实现了一个判断某一点是否位于特定区域内的函数。第一种方法基于球面三角公式,精度较高;第二种方法利用经纬度之间的简单比例关系进行估算。此外,还提供了示例代码展示如何使用这些功能。

JS 计算两个点(经纬度)的距离

经度相同,纬度不同
纬度每隔0.00001度,距离相差约1.1米。
纬度每隔0.0001度,距离相差约11米。
纬度每隔0.001度,距离相差约111米。
纬度每隔0.01度,距离相差约1113米。
纬度每隔0.1度,距离相差约11132米。

纬度相同,经度不同
经度每隔0.00001度,距离相差约1米。
经度每隔0.0001度,距离相差约10米。
经度每隔0.001度,距离相差约100米。
经度每隔0.01度,距离相差约1000米。
经度每隔0.1度,距离相差约10000米。

方法一(精度比方法二要高)

const staVal = { lng: "106.64647211048887", lat: "26.619020177917346" };
const endVal = { lng: "106.65148784134672", lat: "26.615442440608998" };
this.calcCoordsDistance(staVal, endVal) // {mVal: '638.59m', kmVal: '0.63859km', originVal: '638.5888697736245'}

/** 计算两个点(经纬度)的距离
 * @param startDot 开始点的经纬度(lng.经度 lat.纬度)
 * @param endDot 结束点的经纬度(lng.经度 lat.纬度)
 * @returns {
  
  {originVal: string, mVal: string, kmVal: string}} originVal.原始值单位为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值