Сбросить настройки местоположения с помощью jQuery - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть страница, где у меня есть кнопка, которая вызывает функцию findLocation, которая получает местоположение пользователя.У меня есть функция, которая выглядит следующим образом:

       function findLocation(){
          var geoSuccess = function(position) {
              var startPos = position;
              console.log(startPos.coords.latitude);
              console.log(startPos.coords.longitude);
          };


          var geoError = function(error){
              console.log("Error!");
          }

          navigator.geolocation.getCurrentPosition(geoSuccess, geoError);
       }

И что я хочу сделать, так это то, что когда пользователь не разрешает доступ к местоположению, я хочу сбросить настройки разрешения местоположения.Так что, когда нажимается кнопка (которую я установлю), появляется всплывающее окно, чтобы разрешить или запретить местоположение.Могу ли я это сделать?

Ответы [ 3 ]

0 голосов
/ 16 ноября 2018

Если вы получили всплывающее окно, сгенерированное с помощью confirm:

Добавьте это в функцию getCurrentPosition

   getCurrentPosition(geoSuccess, geoError){
     confirm("Do you want to allow the location?") ? geoSuccess() : geoError()
   }
0 голосов
/ 16 ноября 2018

Ну, похоже, что navigator.permissions.revoke больше не поддерживается ...

Все, что вы можете сделать, это использовать следующий код:

navigator.permissions.query({name: 'geolocation'}).then(function(result) {
         if (result.state == 'granted') {
             report(result.state);
             geoBtn.style.display = 'none';
         } else if (result.state == 'prompt') {
             report(result.state);
             geoBtn.style.display = 'none';

             navigator.geolocation.getCurrentPosition(revealPosition, positionDenied, geoSettings);
         } else if (result.state == 'denied') {
             report(result.state);
             geoBtn.style.display = 'inline';
         }
         result.onchange = function() {
             report(result.state);
         }
     });
0 голосов
/ 16 ноября 2018
navigator.permissions.revoke({name:'geolocation'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...