【问题标题】:Meteor's cordova: geolocation plugin doesn't work on mobileMeteor 的 Cordova:地理定位插件在移动设备上不起作用
【发布时间】:2016-01-04 20:38:17
【问题描述】:

我正在将 Meteor (1.2.0.2) 应用部署到 Android 设备。

我安装了插件

 meteor add cordova:cordova-plugin-geolocation@1.0.0

添加了 Cordova 插件 cordova-plugin-geolocation@1.0.0。

我使用插件:

    document.addEventListener("deviceready", onDeviceReady, false);
    function onDeviceReady() {
        navigator.geolocation.getCurrentPosition(function(p){ // onSuccess
            console.log(p);
        }, function(e){
            console.log(e);
        });
    }

在桌面上完美运行(将 p 作为 Geolocation 对象打印)但在移动设备上它只是忽略回调(成功和错误)。

我通过设置断点在 Chrome DevTools (chrome://inspect) 中对其进行了测试。它会一直执行到 .getCurrentPosition 调用,但随后(跳过或介​​入)只是跳过两个回调(如果我在它们中设置断点,它们就不会被命中)。

我什至尝试过

navigator.geolocation.getCurrentPosition(function(p){ console.log(p); 

都在桌面控制台上(工作)

undefined
Geolocation { ... }

和移动(工作)

undefined
// nothing else is printed

可能与应用的权限有关?

EDIT:我验证了AndroidManifest.xml,权限实际上是由插件设置的:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

【问题讨论】:

  • 你运行的是什么版本的android?您是使用 crosswalk 包还是使用系统 webview?另外,在调试方面,请检查您的adb logcat 是否有错误,它们没有被抛出到控制台。
  • 我没有使用人行横道,但我读到存在兼容性问题。我会试试logcat。谢谢
  • 我试过人行横道。同样的问题。我正在部署到 Android 5.0。我尝试使用 adb logcat 但我不知道如何检测错误/按包过滤(似乎不可能)

标签: android cordova meteor


【解决方案1】:

@dragonmnl,

GPS is unreliable.

你没有谈论超时,我必须假设你没有设置足够长的超时。尝试将其设置为大约 20 秒 - 至少。

如果你的读数很差,或者你正在超时

  • 到外面去
  • 确保您能清楚地看到所有的视野(没有东西挡住视野)
  • 绕着大圈走,直径约 15 英尺

在大约 30-45 秒内,您应该可以阅读。 当您阅读我给您的链接时,这将是有意义的。

杰西

【讨论】:

  • 嗯,这是关于 Cordova,而不是 GPS 本身。我认为 Cordova 至少应该打印一些东西,即使它是一个完全错误的位置(这是谷歌地图应用程序有时在 gpx 修复之前所做的)。显然重启我的设备解决了。
  • @dragonmnl,如果您阅读the documentation,则存在超时。如果地理位置查找失败,则在超时后进行 geolocationError() 回调。如果您解码 error.codeerror.message 通过 geolocationError() 回调返回,那么您将看到有关确切原因的消息超时。如果地理定位成功并且没有返回数据,那么这是一个错误。 -- timeout 通过 geolocationOptions 传递。
  • 如果您以前从未使用过 GPS,这可能会很乏味。祝你好运
猜你喜欢
  • 1970-01-01
  • 2017-03-15
  • 2016-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多