我正在尝试在我的 JQM/Phonegap 应用程序中加载 GPS 坐标 - 尝试命中的第一个警报但其余的失败,没有我看到的错误。据我所知,没有达到 onsuccess 或 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 和 Samsung Galaxy s4 上尝试此操作,但没有成功。
最佳答案
三星 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 作为插件。
关于javascript - Phonegap 导航模块未使用 JQM 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24142775/