javascript 计算地球坐标之间的距离(以公里为单位)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 计算地球坐标之间的距离(以公里为单位)相关的知识,希望对你有一定的参考价值。
degreesToRadians(degrees) {
return degrees * Math.PI / 180;
}
distanceInKmBetweenEarthCoordinates(lat1, lon1, lat2, lon2) {
let earthRadiusKm = 6371;
let dLat = this.degreesToRadians(lat2-lat1);
let dLon = this.degreesToRadians(lon2-lon1);
lat1 = this.degreesToRadians(lat1);
lat2 = this.degreesToRadians(lat2);
let a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.sin(dLon/2) * Math.sin(dLon/2) * Math.cos(lat1) * Math.cos(lat2);
let c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
return earthRadiusKm * c;
}
returnDistance() {
let positionFirstPin = this.toursService.mapsTourMarkers[0];
let positionLastPin = this.toursService.mapsTourMarkers.slice(-1)[0];
let distance = this.distanceInKmBetweenEarthCoordinates(+positionFirstPin.lat, +positionFirstPin.lng, +positionLastPin.lat, +positionLastPin.lng);
console.log(distance.toFixed(2));
}
以上是关于javascript 计算地球坐标之间的距离(以公里为单位)的主要内容,如果未能解决你的问题,请参考以下文章
计算两个经纬度之间的距离
计算地球上两坐标的距离
MySQL计算坐标之间距离
在MYSQL中用2个坐标以米为单位计算地球距离的最佳方法是啥?
地球表面两点距离计算
给定两组坐标,如何计算它们之间的距离?