초보 게시판리스트 거리순 정렬 질문 좀 드립니다.

초보 게시판리스트 거리순 정렬 질문 좀 드립니다.

QA

초보 게시판리스트 거리순 정렬 질문 좀 드립니다.

본문

나름 자료를 찾아서 게시판리스트를 거리순으로 정렬하려고 하는데요

아래 소스에서 주소를 위도경도로 변환해주는 소스가 빠진거 같아요

고수님들 조언좀 부탁합니다."꾸벅"

<script>

//게시판리스트를 불러와 배열에 담음
var tourlist = [
<?
$sql = "select * from g5_write_atable1 order by wr_num";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
  $address = $row['wr_1'];
  $url = "https://dapi.kakao.com/v2/local/search/address.json?query=".urlencode($address);
  echo'"',$url,'",';
}
?>
]

//거리순으로 계산해주는 함수

function getDistance(lat1, lon1, lat2, lon2, unit) {

var radlat1 = Math.PI * lat1/180
var radlat2 = Math.PI * lat2/180
var radlon1 = Math.PI * lon1/180
var radlon2 = Math.PI * lon2/180
var theta = lon1-lon2
var radtheta = Math.PI * theta/180
var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2)
dist = Math.acos(dist)
dist = dist * 180/Math.PI
dist = dist * 60 * 1.1515
if (unit == "k") { dist = dist * 1.609344 }
if (unit == "N") { dist = dist * 0.8684 }
return dist
}

//지오로케이션 현재위치를 알려줌

navigator.geolocation.getCurrentPosition((position) => {
 navigator.geolocation.getCurrentPosition(function(position) {
 var latitude = position.coords.latitude, // 위도
 var longitude = position.coords.longitude; // 경도

//게시판리스트 반복문

for (var i=0; i<tourlist.length; i++) {
var distance = getDistance(latitube, longitube, tourlist[i].latitube, tourlist[i].longitube, "k");
tourlist[i].distance = distance;
}

//디스턴스 순으로 정렬

var newTourList = tourlist.sort(function (a, b) {
 if (a.distance > b.distance) {
renturn 1;
}
if (a.distance < b.distance) {
return -1;
}
// a must be equal to b
return 0;
});

} (err) => {
});
</script>

이 질문에 댓글 쓰기 :

답변 1

답변을 작성하시기 전에 로그인 해주세요.
전체 59,513
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT