Phonegap导航模块未加载JQM

时间:2014-06-10 13:49:26

标签: javascript android jquery jquery-mobile cordova

我正在尝试在我的JQM / Phonegap应用程序中加载GPS协议 - 尝试点击的第一个警报但其余的失败没有我能看到的错误。据我所知,没有触及onsucess或onerror。

if (pageId === 'latlong') {

        console.log("Nooooooops");
        alert("trying");
        navigator.geolocation.getCurrentPosition(onSuccess, onError);
        function onSuccess(position) {
            localStorage.set("Lat", position.coords.latitude);
            localStorage.set("Long", position.coords.longitude);

            alert(localStorage.getItem("Lat"));
            alert(localStorage.getItem("Long"));
        };

// onError Callback receives a PositionError object
//
        function onError(error) {
            alert('code: '    + error.code    + '\n' +
                'message: ' + error.message + '\n');
        }

        $("#latlongLat").append(localStorage.get("Lat"));
        $("#latlongLong").append(localStorage.get("Long"));

    }

我在AVD和三星Galaxy s4上尝试这个但没有运气。

1 个答案:

答案 0 :(得分:2)

三星Galaxy系列,它根本就不像Phonegap / Cordova地理位置。

根据我的经验,您需要设置其他选项,例如:

navigator.geolocation.getCurrentPosition(onSuccess, onError,{
    enableHighAccuracy : true,
    maximumAge : 3000,
    timeout : 60000
}); 

首先尝试使用 enableHighAccuracy true或false,我的旧S3仅在设置为true时才有效。给它一个合理的超时,三星Galaxy系列再次有一个相当低的GPS。

另一方面,在AVD上进行测试需要超时,有时需要将 enableHighAccuracy 设置为false(仅限AVD)。

另外,不要忘记安装插件,很多人都不知道从3.0版开始,Phonegap / Cordova将设备级API实现为插件。