The 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 для более подробной информации.