firefox 3.6에서 navigator.geolocation.getCurrentPosition (function) API를 사용하고 있습니다. 이 메서드를 반복적으로 호출하려고 할 때 가끔은 제대로 작동하지 않는 경우가 있습니다. 문제는 비동기 콜백 특성 때문이라고 생각했습니다. 어떤 시점에서 콜백 함수가 호출되고 있지만 외부 함수가 이미 종료되어 위치 좌표 값을 잡을 수 없음을 알 수 있습니다.navigator.geolocation의 비동기 특성에 대처할 수 없습니다.
나는 자바 스크립트에 익숙하다. 그래서 나는 다른 자바 스크립트 코더들이 이미 그것을 어떻게 다룰 지 짐작할 수도있을 것이다. 도와주세요.
편집 : 여기
<script type="text/javascript">
function getCurrentLocation() {
var currLocation;
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
currLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
});
}
return currLocation; // this returns undefined sometimes. I need help here
}
</script>
편집 2를 사용하고 코드의 샘플 조각의 : 응답에 대한 감사합니다 모든 사람이, 내가 "수용"모든 답을 선택할 수 싶지만 그렇게 할 수 없습니다.
이제 다른 문제에 직면하고 있습니다. 3 초마다 navigator.geolocation.getCurrentPosition을 호출하지만 응답은 10-15 회 응답 후에 중지됩니다. 어떤 아이디어라도있어?
다시 한 번 감사드립니다.
안녕하세요! 답장을 보내 주셔서 감사합니다. 나는 그 문제를 해결했다. 이제 저는 자바 스크립트의 성격을 알게되었습니다. 문제가 하나 더 있습니다. 탐색기를 몇 번이나 호출 할 수 있는지에 대한 제한이 있습니다.geolocation.getCurrentPostion, 3 초마다 호출하려고하기 때문에 응답이 10 회 또는 15 회 시도한 후에 중지됩니다. 당신은 어떤 생각이 있습니까 – Raja
@Raja : 아니요, 그런 한계를 알지 못합니다. Geolocation은 여전히 새로운 것입니다. 어쩌면이 문제에 관한 또 다른 질문을 Stack Overflow에 게시 할 수 있습니다. –