J'essaie d'utiliser HTML5 gelolocation pour obtenir l'emplacement du visiteur actuel. En raison de la confidentialité, le navigateur invite l'utilisateur à autoriser/interdire le partage de son emplacement avec le site.Comment savoir qu'un visiteur a refusé de partager son emplacement avec le site?
Si l'utilisateur n'autorise PAS le partage de son emplacement, je souhaite afficher un message sur la console.
Voici ce que je l'ai fait
$(function() {
// Try HTML5 geolocation.
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(position)
{
findClosestStore(position.coords.latitude, position.coords.longitude);
}, displayMapWithAddressBar);
}
else
{
// Browser doesn't support Geolocation
console.log('browser does not support geolocation!')
displayMapWithAddressBar();
}
});
function displayMapWithAddressBar()
{
console.log('Show the map since the location was not detected!');
}
Mais lorsque l'utilisateur refuse de partager leur emplacement, je ne vois rien dans la console. Je m'attends à voir un message à dire Show the map since the location was not detected!
Comment puis-je savoir qu'un utilisateur a refusé de partager son emplacement?
MISE À JOUR
Mon travail de code comme prévu dans Google Chrome, mais pas dans Firefox. Comment puis-je faire fonctionner cela dans tous les navigateurs?
déjà répondu ici: http://stackoverflow.com/questions/6092400/is-there-a-way-to-check-if-geolocation-has-been -declined-with-javascript – Korgrue
@Korgrue Je ne vois pas de réponse dans la liste que vous avez fournie. Mon code dans la question fonctionne très bien dans Google Chrome, mais pas Firefox. – Jaylen
Dans Firefox, vous devez implicitement saisir le lat et vous connecter individuellement. fonction showPosition (position) { alerte (position.coords.latitude + "" + position.coords.longitude); } navigator.geolocation.getCurrentPosition (showPosition); Je testerais null sur lat ou long pour l'activation de la géolocalisation FF. – Korgrue