스크립트 거리계산 반복출력이 안됩니다..ㅠㅠ
본문
안녕하세요 선생님들
도움을 받고자 이렇게 질문을 남깁니다 ㅠㅠ
스크립트로 거리계산을 하는데 단일로는 출력을 잘하는데 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
일단 소스 자체가 반복문으로 적합하건 같지는 않네요 같은 스크립트가 반복묵으로 하신다면 반복되서 나오시는거고 값을 넣는것도 아이디로 해서 중복이신거 같네요.
수정을 하셔야 할거 같습니다.
해당소스에 반복문이 없는데요..?