javascript - Phonegap 导航模块未使用 JQM 加载

标签 javascript android jquery jquery-mobile cordova

我正在尝试在我的 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/

相关文章:

javascript - 不要以名称 IS 为目标,而是以随 jquery 递增的 ID 为目标

javascript - angularjs ngOptions 有 2 个对象属性作为标签并通过 Id 进行跟踪

javascript - 我没有从 Angular 前端访问后端 Controller 中的 api 路由。我做错了什么?

android - 尽管 "return true",触摸事件仍在层次结构中泄漏

java - 在正常模式下打开 Activity 并作为对话框

javascript - 无法通过 jQuery 更改 Span 的 CSS

javascript - 使用格式动态设置 select2 选项

c# - 未调用 Jquery Ajax 成功函数

Android 服务似乎从未启动 - onStartCommand() 未调用

javascript - 创建 HTML 类并通过下拉列表对其进行过滤