2013-07-04 10 views
0

그래서 처음으로 Javascript에서 geolocation을 사용하려고합니다. 나는 기본적으로 다른 스택 오버 플로우 jsfiddle 예제에서 코드를 복사했다. 그러나 그것은 이상한 오류가있다. JS 콘솔에서 "최대 콜 스택 크기가 jquery를 초과했습니다"오류 (예 : getLocation()에 20 번 통화하는 중)가 발생했지만 이제는 아무 것도 얻지 못합니다. X를 사용하여 주소 표시 줄의 작은 대상 아이콘 그것은 (모든 위치 요청을 자동으로 허용 한 후에도) 위치 권한이 거부되었다고 말합니다. 그건 크롬이야. 사파리를 시험해 보았지만 허가를 요청하는 경고를 보냈지 만 아무 일도 없었습니다. 여전히 오류가 없습니다. 어떤 제안?Geolocation을 알아낼 수 없습니다

$(window).load(function() { 
    function getLocation() { 
     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(showPosition); 
     } 
     else { 
      $('#test').write("Couldn't fetch location."); 
     }; 
    }; 

    function showPosition(position) { 
     $('#test').write("<h1>Latitude: \"" + position.coords.latitude + "\"</h1>"); 
     $('#test').write("<h1>Longitude: \"" + position.coords.longitude + "\"</h1>"); 
    }; 

    getLocation(); 
});, 

답변

0

는 jQuery를에 더 write() 방법이 없습니다, 당신은이 말에 쉼표가 있습니다.
는 구문 오류를 수정하고 그것을 작동합니다 :

$(function() { 
    function getLocation() { 
     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(showPosition); 
     } 
     else { 
      $('#test').html("Couldn't fetch location."); 
     } 
    } 

    function showPosition(position) { 
     $('#test').html("<h1>Latitude: \"" + position.coords.latitude + "\"</h1>"); 
     $('#test').append("<h1>Longitude: \"" + position.coords.longitude + "\"</h1>"); 
    } 

    getLocation(); 
}); 

FIDDLE

+0

감사합니다! 쉼표는 여기에 코드를 붙여 넣기에 오타 였지만 분명히 문제는 '쓰기'명령 때문이었습니다. 사파리와 파이어 폭스에서 작동하지만 크롬에서 어떤 결과도 얻지 못하고있다. – wkd

+0

@wkd - Chrome에서 작동합니까? – adeneo

+0

https://code.google.com/p/chromium/issues/detail?id=100353은 로컬 호스팅 파일의 Chrome 버그 인 것 같습니다. – wkd

0
<script> 

var x=document.getElementById("test"); 

function getLocation() 
{ 
if(navigator.geolocation{navigator.geolocation.getCurrentPosition(showPosition); 
} 
else { x.innerHTML = "Geolocation is not supported by this browser."; 
}}function showPosition(position){x.innerHTML="Latitude: " + position.coords.latitude + <br>Longitude: " + position.coords.longitude; } 

</script> 
관련 문제