我試圖找出構造這個的最佳方法。我正在將外部html頁面加載到我的應用程序中。我有一個pageinit函數,用一些數據填充頁面。我也想拉這個電話的地理位置,但我需要檢查準備使用科爾多瓦的設備。如何確保Cordova準備就緒後該功能會被解除?在pageinit上梳理jquery mobile與cordova
我有以下內容,但每次都會收到一條提示「代碼:2,消息:無法啓動地理定位服務」。
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
如果您想要使用第二種選擇,則可以使用全局延遲而不是布爾值。這樣你就不必輪詢。但更簡單的解決方案是在pageinit上保留地理位置,然後從onDeviceReady/wlCommonInit中加載頁面。這樣你就知道當頁面加載時,cordova已經準備就緒。 –