Cordova getCurrentPosition() 永远不会返回

问题描述 投票:0回答:1

我的cordova版本是6.3.1,我使用的是cordova-plugin-geolocation 2.3.0。
调用

navigator.geolocation.getCurrentPosition(onSuccess, onError)
后,
onSuccess
onError
都不会被触发。
我还尝试使用 cordova-plugin-locationservices 插件,该插件利用 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);
javascript android cordova geolocation cyanogenmod
1个回答
2
投票

你必须提供一个带有超时属性的选项对象,因为如果你不这样做,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

© www.soinside.com 2019 - 2024. All rights reserved.