function getDistanceFromLatLonInKm(lat1,lng1,lat2,lng2) {
function deg2rad(deg) { return deg * (Math.PI/180) }
var R = 6371;
var dLat = deg2rad(lat2-lat1);
var dLon = deg2rad(lng2-lng1);
var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
return d;
}
테스트결과 잘 나옵니다 :)
console.log(getDistanceFromLatLonInKm(37.497604, 127.026960, 37.496119, 127.027707))
// 0.17778920283873462
console.log(getDistanceFromLatLonInKm(37.497604, 127.026960, 37.494446, 127.028474))
// 0.3756981475693718
console.log(getDistanceFromLatLonInKm(37.497604, 127.026960, 37.492850, 127.029220))
// 0.5649719905623937
'Front-end > JS tip' 카테고리의 다른 글
문자열 앞/뒤에 원하는 문자 채우기 padStart, padEnd (0) | 2022.02.12 |
---|---|
javascript 카카오 공유하기 (0) | 2022.01.22 |
javascript .replaceAll 안될 때 (0) | 2022.01.20 |
javascript select option 값 가져오기 (0) | 2022.01.14 |
javascript selectbox option 값 구하기 (0) | 2022.01.12 |