Vérifiez si le paramètre de localisation a été désactivé dans le navigateur des utilisateurs

J'aimerais cacher () ou afficher () un bouton qui permet aux utilisateurs d'utiliser leur emplacement actuel en fonction de leur utilisation actuelle dans leur configuration de navigateur ou non. Le code ci-dessous vérifie uniquement si le navigateur prend en charge la géolocalisation et non pas si l'utilisateur particulier l'autorise ou non.

if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else { x.innerHTML="Geolocation is not supported by this browser.";} } 

Existe-t-il une valeur booléenne que je peux détecter pour leur configuration de navigateur, me faire savoir si l'emplacement est actuellement autorisé?

Merci pour toutes les suggestions.

Avez-vous lu http://www.w3schools.com/html/html5_geolocation.asp

Ce que vous voulez faire, c'est vérifier les erreurs pour voir si elles ont permis ou refusé la demande.

 function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,showError); } else { x.innerHTML = "Geolocation is not supported by this browser."; } } function showPosition(position) { x.innerHTML = "Latitude: " + position.coords.latitude + "<br>Longitude: " + position.coords.longitude; } function showError(error) { switch(error.code) { case error.PERMISSION_DENIED: x.innerHTML = "User denied the request for Geolocation." break; case error.POSITION_UNAVAILABLE: x.innerHTML = "Location information is unavailable." break; case error.TIMEOUT: x.innerHTML = "The request to get user location timed out." break; case error.UNKNOWN_ERROR: x.innerHTML = "An unknown error occurred." break; } } 

Le code ci-dessous vous permettra de vérifier le statut d'autorisation sans invoquer la demande d'autorisation navigator.geolocation sur Chrome 43+ et Firefox 46+

 navigator.permissions && navigator.permissions.query({name: 'geolocation'}).then(function(PermissionStatus) { if(PermissionStatus.state == 'granted'){ //allowed }else{ //denied } })