개발 관련/JAVASCRIPT
두지점의 위도,경도 기준 최단거리 계산
riberio
2019. 11. 12. 14:48
/**
* 두 지점간의 거리 계산 (기본 단위 : 마일)
*
* @param lat1 지점 1 위도
* @param lon1 지점 1 경도
* @param lat2 지점 2 위도
* @param lon2 지점 2 경도
* @param unit 거리 표출단위
* @return
*/
function distance(lat1,lon1,lat2,lon2,unit) {
theta = lon1 - lon2;
dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2)) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.cos(deg2rad(theta));
dist = Math.acos(dist);
dist = rad2deg(dist);
dist = dist * 60 * 1.1515;
if (unit == "kilometer") {
dist = dist * 1.609344;
} else if(unit == "meter"){
dist = dist * 1609.344;
}
return dist;
}
function deg2rad(deg){
return (deg * Math.PI / 180.0);
}
function rad2deg(rad){
return (rad * 180 / Math.PI);
}