14

How can I prompt a user for their geo-location in javascript if they've blocked my request in the past? (using navigator.geolocation.getCurrentPosition).

For example, my web app requires location services, and the user accidentally clicks "block", or they change their mind. What can I do to prompt them again?

d-_-b
  • 21,536
  • 40
  • 150
  • 256
  • 5
    Possible duplicate of [ask for geolocation permission again if it was denied](http://stackoverflow.com/questions/20678707/ask-for-geolocation-permission-again-if-it-was-denied) – Matthew Shwery Feb 27 '17 at 01:06

2 Answers2

21

As mentioned by @matthew-shwery, you can not change the permission.
the best you could do is check for the permission and notify the user is the permission is denied

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);
     }
 });

Geolocation docs

d-_-b
  • 21,536
  • 40
  • 150
  • 256
Adibas03
  • 410
  • 2
  • 9
6

You can't.

The user must manage their browser settings manually because your site is added to a blacklist when denied location permissions.

Here are instructions for Chrome users to manage their location permissions: https://support.google.com/chrome/answer/142065?hl=en

Matthew Shwery
  • 111
  • 1
  • 5
  • On Chrome, you can direct them to their settings page: `chrome://settings/content/location`. – ToolmakerSteve Oct 22 '19 at 15:32
  • 2
    I tried, can use window.open('chrome://settings/content/location"), gives error -> Not allowed to load local resource: chrome://settings/content/location – DHRUV GAJWA Jun 13 '20 at 04:13