javascript 两个位置之间的距离(lon / lat)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 两个位置之间的距离(lon / lat)相关的知识,希望对你有一定的参考价值。

function toRad(Value) {
  /** Converts numeric degrees to radians */
  return Value * Math.PI / 180;
}

let earth_radius = 6371e3; /* Earth radius in meters */
let lat1 = 50.5144738; /* Given first Latitude */
let lon1 = 1.6190026; /* Given first Longitude */

let lat2;
let lon2;

lat2 = 50.7778815; /* Given second Latitude */
lon2 = 1.6112428; /* Given first Longitude */

let deltaLat = toRad((lat2 - lat1));
let deltaLon = toRad((lon2 - lon1));

/* haversine Formula to calculate distance between two positions */
let a = Math.sin(deltaLat / 2) * Math.sin(deltaLat / 2) +
  Math.cos(lat1) * Math.cos(lat2) *
  Math.sin(deltaLon / 2) * Math.sin(deltaLon / 2);

let c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));

let d = earth_radius * c;

return d

以上是关于javascript 两个位置之间的距离(lon / lat)的主要内容,如果未能解决你的问题,请参考以下文章

计算几个位置之间的全局距离

2个GPS位置之间的距离PHP

lat / lon两个表之间的距离计算

计算多点之间地理空间距离的最有效方法?

计算两个经纬地之间的距离

两个纬度/经度表之间的距离计算