list.skin.php에서 자바스크립트 출력 문제 입니다.

<script type="text/javascript">
  if (!!navigator.geolocation)
  {
    navigator.geolocation.watchPosition(successCallback,errorCallback);
  }
  else
  {
    alert("이 브라우저는 GPS를 지원하지 않습니다");
  }
   
  function successCallback(position)
  {
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
   
    document.getElementById("msg").innerHTML = "위도" + lat + ", 경도:"+lng
  }
 
  function errorCallback(error)
  {
    alert(error.message);
  }   
</script>

소스는 위에와 같습니다.
<span id="msg">왜 여기에만 뜨냐고</span>


이곳에 위에의 정보값이 출력이 됩니다.
하지만 그누보드 게시판 list에서
예를 든다면...
게시글이 1번부터 10번까지 저 위도와 경도의 값이 출력이 되어야 하는데...
최 상단에만 한줄 출력이 된답니다.

예)
---------------------------------------------------------------
번호        제             목               경도,위도              글쓴이
---------------------------------------------------------------
10             테스트                    23.2323,423.121        관리자
  9             테스트                                                 관리자
  8             테스트                                                 관리자
  7             테스트                                                 관리자
  6             테스트                                                 관리자
  5             테스트                                                 관리자
  4             테스트                                                 관리자
  3             테스트                                                 관리자
  2             테스트                                                 관리자
  1             테스트                                                 관리자

이런식으로 나온답니다. 어떻게 수정을 해야할까요...?!


|

댓글 5개

document.getElementById("msg").innerHTML = "위도" + lat + ", 경도:"+lng
보믄 msg에 대한 구분자가 없어서 그런겁니다. 즉 msg1 msg2 이런식으로 되야 되것죠
반복문을 당연히 돌려야 되니 msg에 $i를 넣고 다시 잘 짜보세용
<script type="text/javascript">
if (!!navigator.geolocation)
{
navigator.geolocation.watchPosition(successCallback,errorCallback);
}
else
{
alert("이 브라우저는 GPS를 지원하지 않습니다");
}

function successCallback(position)
{
var lat = position.coords.latitude;
var lng = position.coords.longitude;

document.getElementById("msg[$i]").innerHTML = "위도" + lat + ", 경도:"+lng
}

function errorCallback(error)
{
alert(error.message);
}
</script><div id=msg[$i]>asd</div>

말씀해주신대로 반복문을 넣어봤습니다. ㅠ
하지만 아직까지도 그대로 맨 윗줄에만 출력이 되는데...
도대체 어떻게 수정을 해야할까요 ? ㅠ
for = $i...ㅠㅠ 모르겠네여
거기다가만 넣으면 당근 안되죠
포지션값도 게속 변경이 되어야 각각의 값이 나가겠죠.
콜백 하는 저부분에 포지션값도 각각으로 들어가야 합니다.
답글 달아주셔서 진심으로 감사하다는 말씀을 드리겠습니다.
짧은 지식으로는 해결이 어려워, hy미디어님께 메일을 보내게 되었습니다.
꼭 좀 도움을 받았으면 좋겠습니다. 부탁 드리겠습니다.
댓글을 작성하시려면 로그인이 필요합니다. 로그인

개발자팁

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
Mobile 13년 전 조회 2,504
MySQL 13년 전 조회 6,110
PHP 13년 전 조회 1,938
Flash 13년 전 조회 2,980
JavaScript 13년 전 조회 3,422
PHP 13년 전 조회 1,796
기타 13년 전 조회 7,592
jQuery 13년 전 조회 2,301
Mobile 13년 전 조회 3,232
PHP 13년 전 조회 2,505
JavaScript 13년 전 조회 2,790
기타 13년 전 조회 1,950
JavaScript 13년 전 조회 2,038
Linux 13년 전 조회 2.2만
JavaScript 13년 전 조회 2,394
기타 13년 전 조회 1,716
Mobile 13년 전 조회 1,909
JavaScript 13년 전 조회 4,231
MySQL 13년 전 조회 2,617
MySQL 13년 전 조회 2,749
기타 13년 전 조회 1,843
jQuery 13년 전 조회 8,180
JavaScript 13년 전 조회 2,687
node.js 13년 전 조회 2,752
JavaScript 13년 전 조회 2,030
JavaScript 13년 전 조회 1.1만
기타 13년 전 조회 2,555
jQuery 13년 전 조회 2,286
Mobile 13년 전 조회 2,660
jQuery 13년 전 조회 5,654
🐛 버그신고