채택완료

스크립트 거리계산 반복출력이 안됩니다..ㅠㅠ

안녕하세요 선생님들

도움을 받고자 이렇게 질문을 남깁니다 ㅠㅠ

스크립트로 거리계산을 하는데 단일로는 출력을 잘하는데 for문안에서 반복출력이 안됩니다..

여분필드 wr_1에 위도 wr_2에 경도 를 저장했습니다

리스트에 출력하니깐 게시물마다 나오는게 아니고 마지막 1개값만 출력이 됩니다 ㅠㅠ

list.skin.php


<script>

var ourCoords = {
    latitude : <?php echo $list[$i]['wr_1']; ?>,  //위도
    longitude : <?php echo $list[$i]['wr_2']; ?>,  //위도
};

</script> 

<script type="text/javascript" src="myLoc.js"></script>


<div id="location">내위치</div>
<div id="distance">게시물위치와거리</div>

myloc.js 

window.onload = getMyLocation;

function getMyLocation() {

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(
            displayLocation, 
            displayError); 
    } else {
        alert("내 위치 정보제공 설정이 꺼져있거나, 지원하지 않는 브라우져 입니다." );
    }
}

function displayLocation(position) {

    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    
    $("#location").html("내위치 위도: " + latitude +", 경도: " + longitude);
    
    var distance = computeDistance(position.coords, ourCoords);
    $("#distance").html("게시물과 "+distance+"km 떨어져 있습니다.");
                        
}

function computeDistance(startCoords, destCoords) {
    var startLatRads = degreesToRadians(startCoords.latitude);
    var startLongRads = degreesToRadians(startCoords.longitude);
    var destLatRads = degreesToRadians(destCoords.latitude);
    var destLongRads = degreesToRadians(destCoords.longitude);

    var Radius = 6371;
    var distance = Math.acos(Math.sin(startLatRads) * Math.sin(destLatRads) + 
                    Math.cos(startLatRads) * Math.cos(destLatRads) *
                    Math.cos(startLongRads - destLongRads)) * Radius;

    return distance;
}

function degreesToRadians(degrees) {
    radians = (degrees * Math.PI)/180;
    return radians;
}

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

일단 소스 자체가 반복문으로 적합하건 같지는 않네요 같은 스크립트가 반복묵으로 하신다면 반복되서 나오시는거고 값을 넣는것도 아이디로 해서 중복이신거 같네요.

수정을 하셔야 할거 같습니다.

답변에 대한 댓글 1개

역시나 스크립트부분을 새로 짜야하는군요..ㅠㅠ

좀더 검색해서 수정을 해봐야겠습니다

감사합니다

해당소스에 반복문이 없는데요..?

답변에 대한 댓글 1개

스크립트에 반복문으로 해봤는데 안되서 다시 해봐야겠네요 감사합니다

답변을 작성하려면 로그인이 필요합니다.