【问题标题】:Phonegap nav module not loading with JQMPhonegap 导航模块未使用 JQM 加载
【发布时间】:2014-06-10 13:49:26
【问题描述】:

我正在尝试在我的 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 上尝试这个,但没有运气。

【问题讨论】:

  • 你安装了Phonegap地理定位插件吗?

标签: javascript android jquery jquery-mobile cordova


【解决方案1】:

啊三星 Galaxy 系列,它根本不喜欢 Phonegap/Cordova 地理定位。

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

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

首先尝试使用 enableHighAccuracy true 或 false,我的旧 S3 只有在设置为 true 时才能工作。给它一个合理的超时时间,Samsung Galaxy 系列的 GPS 还是很差的。

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

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

【讨论】:

  • 感谢您,我在phonegap 的配置中添加了该行以启用GPS - 这就是我需要添加的所有内容,是吗? (仍有问题)
  • 我遇到的问题是我什么也没有得到任何错误(发现它真的很难调试!)
  • 您使用的是哪个phonegap 版本,如果它高于2.9,您是否安装了插件?默认 gps 支持与浏览器相关,基本上 Phonegap 可以阻止您使用此功能。另外,您是否尝试过设置高精度?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-21
  • 2023-03-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-06
相关资源
最近更新 更多