Cordova getCurrentPosition()永远不会返回

时间:2016-09-18 16:55:33

标签: javascript android cordova geolocation cyanogenmod

我的cordova版本是6.3.1,我使用的是cordova-plugin-geolocation 2.3.0 致电navigator.geolocation.getCurrentPosition(onSuccess, onError)后,onSuccessonError都不会被解雇。
我也尝试使用cordova-plugin-locationservices插件,该插件利用Google Play服务获取用户位置,但结果相同。
我正在为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);

1 个答案:

答案 0 :(得分:1)

你必须给一个带有超时属性的选项对象,因为如果你没有,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