W3C Geolocation API ne fonctionne pas dans Chrome

Le code ci-dessous fonctionne dans Firefox mais pas dans Google Chrome:

<!DOCTYPE html> <html> <head> <title>title</title> <script type="text/javascript"> var successCallback = function(data) { console.log('latitude: ' + data.coords.latitude + ' longitude: ' + data.coords.longitude); }; var failureCallback = function() { console.log('location failure :('); }; var logLocation = function() { //determine if the handset has client side geo location capabilities if(navigator.geolocation){ navigator.geolocation.getCurrentPosition(successCallback, failureCallback); } else{ alert("Functionality not available"); } }; logLocation(); setTimeout(logLocation, 5000); </script> </head> <body> <p>Testing</p> <body> </html> 

Que se passe-t-il? Je pensais que Google Chrome devait supporter l'API de géolocalisation du W3C.

Fonctionne parfaitement pour moi – avec Chrome 11 et Firefox 4.0.1 sur Win 7

  • Assurez-vous que vous n'avez pas désactivé le suivi des sites dans Chrome: Options > Under the Hood > Content Settings > Location
  • En raison des restrictions de sécurité, les ressources chargées avec le file:/// scheme ne sont pas autorisés à accéder à l'emplacement. Voir l' invite de mise à jour géographique HTML 5 dans Chrome .

Si votre domaine est peu sûr (p. Ex. HTTP plutôt que HTTPS), vous n'êtes pas autorisé à accéder à l'emplacement dans Chrome. C'est depuis Chrome version 50 (12PM PST 20 avril 2016).

Voir https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only pour plus de détails.

En 2017:

Remarque: à partir de Chrome 50, l'API de géolocalisation ne fonctionnera que sur des contextes sécurisés tels que HTTPS. Si votre site est hébergé sur une origine non sécurisée (comme HTTP), les demandes d'accès à l'emplacement des utilisateurs ne fonctionneront plus.

L'API de géolocalisation vous permet de découvrir, avec le consentement de l'utilisateur, l'emplacement de l'utilisateur. Vous pouvez utiliser cette fonctionnalité pour des choses comme guider un utilisateur vers sa destination et géomarper le contenu créé par l'utilisateur; Par exemple, le marquage où une photo a été prise.

L'API de géolocalisation vous permet également de voir où se trouve l'utilisateur et de les surveiller à mesure qu'ils se déplacent, toujours avec le consentement de l'utilisateur (et seulement lorsque la page est ouverte). Cela crée de nombreux cas d'utilisation intéressants, tels que l'intégration avec les systèmes backend pour préparer un ordre de collecte si l'utilisateur est à proximité.

Vous devez être conscient de nombreuses choses lors de l'utilisation de l'API de géolocalisation. Ce guide vous guide sur les cas et les solutions d'utilisation courante.

https://developers.google.com/web/fundamentals/native-hardware/user-location/?hl=fr