브라우저에서 위치 설정을 얻으려고하는 응용 프로그램이 있습니다. 잠시 시간이 걸리는 경향이있어서 페이지가로드 될 때 실행하려고합니다. 그러나 위치 콜백이 실행되기 전에 제출 버튼을 클릭하면 위치 데이터가 없습니다. 내 질문은 간단합니다. 내 위치 성공 콜백이 양식을 제출하기 전에 완료 될 때까지 기다리는 방법은 무엇입니까? (수면 진술과 같은 어리석은 것없이).
바쁜 표시기를 깜박이고 데이터를 기다리고 싶습니다. 이것이 가능한가? 바쁜 지표를 볼 수 있도록하는 코드가 있지만 데이터를 사용할 수있게되기까지 어떻게 우아하게 기다릴 수 있는지 잘 모르겠습니다.위치가 검색 될 때까지 지연 양식 제출
$(document).ready(function(){
var lat = "";
var lng = "";
var accuracy = "";
var locationFound = false;
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(function positionSuccess(loc){
lat = loc.coords.latitude;
lng = loc.coords.longitude;
accuracy = loc.coords.accuracy;
locationFound = true;
});
}else{
alert("I'm sorry, your jerk browser doesn't support geolocation");
locationFound = true;
}
$('#locForm').submit(function(e){
$('#lat').val(lat);
$('#lng').val(lng);
$('#boundary').val($('#boundary-select').val());
}
나는이 좋은 대체 생각,하지만 난 차라리 버튼을 활성화 버튼을 클릭하는 대신 가진 데 후 지연을 도입 한 거라고 페이지로드시 잠시 동안 버튼이 사용 중지되었습니다. – rooftop