Cordova.Diganostic.IsLocationEnabled始终返回true ionic

时间:2015-09-22 13:36:06

标签: cordova ionic

正如标题所说,无论位置是关闭还是成功回调总是被触发。有人有任何建议吗?

if (window.cordova) {
    window.cordova.plugins.diagnostic.isLocationEnabled(locationEnabled,locationDisabled );
}
function locationEnabled() {.. }
function locationDisabled() {...}

我正在使用lolipop在三星galaxy s5上进行测试

1 个答案:

答案 0 :(得分:1)

isLocationEnabled无法正常运作。

您作为参数传递的第一个函数是"成功回调"。这并不意味着启用了位置,只是意味着插件已成功检索到位置状态。布尔值作为参数给出,这是您可以知道位置是否已启用的位置。

您传递的第二个功能是当插件无法获取位置状态时调用的功能。

因此,您需要使代码看起来像这样:

function locationEnabled() {
    // Blabla
}

function locationDisabled() {
    // Blabla
}

if (window.cordova) {
    window.cordova.plugins.diagnostic.isLocationEnabled(function (locationEnabled) {
        if (locationEnabled) {
            locationEnabled();
        } else {
            locationDisabled();
        }
    }, function (error) {
      console.log("The following error occurred: " + error);
    });
}

查看plugin documentation了解详情。