繁体   English   中英

流星的科尔多瓦:地理定位插件在移动设备上不起作用

[英]Meteor's cordova: geolocation plugin doesn't work on mobile

我正在将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

也许与应用程序的权限有关?

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

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

@dragonmnl,

GPS不可靠

您没有谈论超时,我必须假设您没有将超时设置足够长的时间。 尝试将其设置为至少20秒左右。

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

  • 出去
  • 确保您对所有视野都有清晰的视野(没有遮挡视野)
  • 绕大转圈,直径约15英尺

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

杰西

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM