открытая геолокация с помощью кордова-плагина-геолокации в IONIC - PullRequest
0 голосов
/ 19 мая 2018

Я использую IONIC V1. Я знаю, как использовать плагин геолокации (cordova-plugin-geolocation), и он работает.когда я нахожусь в разделе моей карты, я получаю уведомление, что "allow name_app to access to device location".

enter image description here

Если мой ответ ALLOW, приложение предполагает, что gps активирован.

но в стиле других приложений я бы хотел, чтобы я перенес меня в конфигурацию моего устройства, чтобы пометить активацию gps как на изображении, чтобы иметь возможность активировать gpsв случае, если он не активирован.(ubicación= ubication в моем языке)

enter image description here

как я могу это сделать?

1 Ответ

0 голосов
/ 06 июня 2018

Если вы правильно понимаете свою проблему, вы хотите открыть собственную настройку 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);
...