Cordova getCurrentPosition() 从不 returns

Cordova getCurrentPosition() never returns

我的 cordova 版本是 6.3.1,我使用的是 cordova-plugin-geolocation 2.3.0。
在调用 navigator.geolocation.getCurrentPosition(onSuccess, onError) 时,onSuccessonError 都不会被触发。
我也尝试过使用 cordova-plugin-locationservices 插件,它利用 Google Play Services 获取用户位置,但结果相同。
我正在为 CyanogenMod 13 (Android 6 ),并且正在使用 microG 作为 Google Play 服务(它在我迄今为止遇到的所有其他应用程序中都有效)。
代码如下,先谢谢了。

    setInterval(function(){
       cordova.plugins.locationServices.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-locationservices */
       //navigator.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-geolocation */
          alert('Location determined');
          console.log(pos);
        }, function(err) {
          alert('code: ' + err.code + '\n message: ' + err.message);
        });
    },3000);

你必须给一个带有超时的选项对象 属性,因为如果你不这样做,android 设备将不会触发错误回调,所以你不会看到任何错误.

setInterval(function(){
       cordova.plugins.locationServices.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-locationservices */
       //navigator.geolocation.getCurrentPosition(function(pos) { /* cordova-plugin-geolocation */
          alert('Location determined');
          console.log(pos);
        }, function(err) {
          alert('code: ' + err.code + '\n message: ' + err.message);
        }, { timeout: 5000} );
    },3000);

查看文档:https://github.com/apache/cordova-plugin-geolocation