navigator.geolocation.getCurrentPosition이 작동할 때도 있고 작동하지 않을 때도 있습니다.
P粉831310404
2023-08-27 15:01:59
<p>所以我使用 navigator.geolocation.getCurrentPosition jammy는 有一个不常简单的 JS입니다.</p>
<pre class="brush:php;toolbar:false;">$(document).ready(function(){
$("#비즈니스-위치, #사람-위치").click(function() {
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
});
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
함수foundLocation(위치) {
var lat = position.coords.latitude;
var lon = 위치.좌표.경도;
var userLocation = lat + ', ' + lon;
$("#비즈니스-현재-위치, #사람-현재-위치").remove();
$("#내 주변")
.watermark("현재 위치")
.after("<input type='hidden' name='비즈니스-현재-위치' id='비즈니스-현재-위치' value='"+userLocation+"' />");
$("#내 주변에 있는 사람들")
.watermark("현재 위치")
.after("<input type='hidden' name='people-current-location' id='people-current-location' value='"+userLocation+"' />");
}
함수 noLocation() {
$("#Near-Me").watermark("위치를 찾을 수 없습니다");
$("#people-Near-Me").watermark("위치를 찾을 수 없습니다");
}
})//DocReady 종료</pre>
<p>基本上, 这里发生的事情是我们获取当前位置,如果获取了,两个“수印”将被放置两个表示“当前位置”字段中,并且使用经纬島数据작품为其值创建两个隐藏字段(它们在开始时就被删除,这样它们就不会每次都重复).可以执行同操작품입니다.
不幸的是,每隔三次左右,它就会起작용.
这是什么问题???</p>
부분적인 답변은 있지만 안타깝게도 완전한 답변은 아닙니다.
먼저, getCurrentPosition의 기본 시간 제한 이 무한(!)이라는 점을 알아두세요. 즉, getCurrentPosition이 백엔드 어딘가에서 중단되면 오류 처리기가 절대 호출되지 않습니다.
시간 초과를 보장하려면 getCurrentPosition 호출에 선택적 세 번째 인수를 추가하세요. 예를 들어 무슨 일이 일어났는지 묻는 메시지가 표시되기 전에 사용자가 10초 이상 기다리지 않게 하려면 다음을 사용하세요. p> 으아악
둘째, 다양한 환경에서 전혀 다른 신뢰성을 경험했습니다. 집에서는 정확도가 낮았지만 1~2초 안에 응답 전화를 받았습니다.
그러나 직장에서 나는 다소 이상한 행동 변화를 경험합니다. 위치 정보는 일부 컴퓨터에서는 항상 작동하고(물론 IE는 제외), 다른 컴퓨터는 Chrome과 Safari에서만 작동하지만 Firefox에서는 작동하지 않습니다(게코 문제?), 기타 컴퓨터는 한 번만 작동하고 실패합니다. 이 패턴은 매시간, 매일 변경됩니다. 때때로 당신은 "운이 좋은" 컴퓨터를 가질 수도 있고, 때로는 그렇지 않을 수도 있습니다. 보름달이 뜨는 동안 염소를 도살하는 것이 도움이 될까요?
이해할 수 없지만, 이 기능을 추진하는 다양한 책과 웹사이트에서 백엔드 인프라가 광고된 것보다 더 불균형한 것 같다고 생각합니다. 이 기능이 얼마나 불안정한지, 그리고 오류 처리기가 제대로 작동하려면 시간 초과 설정이 얼마나 중요한지 좀 더 직접적으로 알려줬으면 좋겠습니다.
저는 오늘 이것을 학생들에게 가르치려고 노력했는데, 약 80%의 학생들이 거의 즉시 결과를 얻는 동안 내 컴퓨터(프로젝터와 두 개의 큰 화면에서)가 조용히 실패하는 당황스러운 상황에 직면했습니다. (완전히 동일한 무선 네트워크 사용). 학생들도 오타나 기타 실수를 할 때, 그리고 내 컴퓨터가 오작동할 때 이러한 문제를 해결하는 것은 매우 어렵습니다.