Если вы правильно понимаете свою проблему, вы хотите открыть собственную настройку gps
, если GPS не включен.
Вы можете использовать любую из следующих опций:
Используя cordova-диагностический плагин плагин
isGpsLocationEnabled () Функция диагностического плагина может помочь вам узнать, включен ли GPS.
Ниже приведено использование:
cordova.plugins.diagnostic.isGpsLocationEnabled(function(enabled) {
if (enabled) {
//enabled
} else {
// open location native location settings
cordova.plugins.diagnostic.switchToLocationSettings();
}
},
function(error) {
console.error("The following error occurred: " + error);
});
Использование request-location-accuracy плагин
Если функция request () плагина точности определения местоположения выдает сообщение об ошибке.Там вы проверяете, имеет ли код ошибки ERROR_USER_DISAGREED, если true, тогда используйте switchToLocationSettings () плагин cordova-Diagnostic для открытия собственных настроек.
Ниже приведено использование:
function onRequestSuccess(success) {
console.log("Successfully requested accuracy: " + success.message);
}
function onRequestFailure(error) {
console.error("Accuracy request failed: error code=" + error.code + "; error message=" + error.message);
if (error.code !== cordova.plugins.locationAccuracy.ERROR_USER_DISAGREED) {
if (window.confirm("Failed to automatically set Location Mode to 'High Accuracy'. Would you like to switch to the Location Settings page and do this manually?")) {
// open location native location settings using diagnostic plugin
cordova.plugins.diagnostic.switchToLocationSettings();
}
}
}
cordova.plugins.locationAccuracy.request(onRequestSuccess, onRequestFailure, cordova.plugins.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY);