개발/개발 자료
(Java) Android의 Location 안쓰고 두 좌표간 거리 계산하는 방법
시원한물냉
2013. 12. 12. 11:49
private double distance(double lat1, double lon1, double lat2, double lon2) {
double theta = lon1 - lon2;
double 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;
dist = dist * 1.609344;
return (dist);
}
private double rad2deg(double rad) {
return (rad * 180.0 / Math.PI);
}
private double deg2rad(double deg) {
return (deg * Math.PI / 180.0);
}
distance 메서드에다가 두 좌표의 lat, lon 값을 넣어주면 된다. 리턴 단위는 Km