저는 이것을 구조화하는 최선의 방법을 찾으려고합니다. 내 애플 리케이션에 외부 HTML 페이지를로드하고있다. 일부 데이터 페이지를 채우는 pageinit 함수가 있습니다. 이걸로 휴대 전화의 위치 정보를 가져오고 싶지만 코드 바를 사용할 준비가되어 있는지 확인해야합니다. 코드 코바 준비가 완료되면 함수가 실행되는지 어떻게 확인할 수 있습니까?jquery mobile with cordova with pageinit
다음과 같은 내용이 있지만 매번 "코드 : 2, 메시지 : Geolocation 서비스를 시작하지 못했습니다."라는 경고가 표시됩니다.
var onSuccess = function(position) {
$('#latnlng').html(position.coords.latitude + ', ' + position.coords.longitude);
};
function onFailure(error){
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
jq(document).delegate("#singleCompany", "pageinit", function() {
retrieveCompany("527378C0D3465729A2F0B8C063396C5D");
navigator.geolocation.getCurrentPosition(onSuccess,onFailure);
});
나는 내가 다음과 결합 할 필요가 있다고 생각하지만,
document.addEvenListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
navigator.geolocation.getCurrentPosition(onSuccess,onFailure);
}
하지만 #singleCompany '페이지'에 대해서만 어떻게 코드를 실행합니까? – David
@David 내 대답의 업데이트를 확인하십시오. – Jasper
두 번째 옵션을 사용하려면 부울 대신 전역 지연을 사용할 수 있습니다. 그렇게하면 설문 조사를하지 않아도됩니다. 하지만 더 간단한 해결책은 geolocation을 pageinit에두고 onDeviceReady/wlCommonInit에서 페이지를로드하는 것입니다. 그렇게하면 페이지가로드 될 때 코드가 준비되었음을 알 수 있습니다. –