web-dev-qa-db-fra.com

Comment fonctionne la géolocalisation HTML5?

Chrome et Firefox ont la géolocalisation HTML implémentée.

Ma question est: comment ça marche? Ont-ils une base de données localement et obtiennent les informations du fournisseur, puis tentent de les faire correspondre?

Où la base de données est-elle stockée? Peut-on y accéder?

Update1: le seul inconvénient de la géolocalisation est que le navigateur doit demander l’autorisation de l’utilisateur, ce qui est très préjudiciable à la convivialité. Je comprends le problème de sécurité mais je ne vois toujours pas comment cela deviendra une solution populaire.

Update2: Firefox utilise un service Web Google pour détecter l'emplacement. Maintenant, cela semble très étrange compte tenu du fait qu'ils sont concurrents maintenant. De plus, ce comportement est vraiment inattendu pour moi ... J'ai espéré que chaque navigateur aura sa solution (peut-être hors ligne).

Update3: Les navigateurs détectent donc les routeurs utilisant votre carte réseau sans fil?

Update4: Quelles informations le navigateur envoie-t-il au service Web de Google à la fin? Le SSID détecté semble correct (et il est logique que si Google les surveille en fonction de leur position physique pour rechercher des informations correspondantes dans la base de données), mais comment cela fonctionne-t-il si bien dans un pays où Google ne l'a pas analysée? L’autre information que votre navigateur envoie est votre adresse IP, mais cela ne suffit pas pour déterminer votre emplacement exact, non? 

En ce qui concerne les autres navigateurs qui pourraient implémenter cela. Comment devraient-ils le faire? L'API n'est pas documentée, seule l'ancienne API obsolète GEAR donne quelques indices. Donc, ce n'est pas vraiment public.

65
danidacar

Pour ce que cela vaut, la spécification d'API elle-même est agnostique pour la mise en œuvre de la géolocalisation. Ainsi, s'il est vrai que Mozilla Firefox et Google Chrome reposent tous deux sur la géolocalisation en réseau via la base de données de service de localisation de Google, ce n'est pas une exigence de la norme. Par exemple, Mobile Safari sur votre iPhone utilisera dans certains cas le GPS plutôt que la triangulation WiFi ou la géolocalisation de sites cellulaires, selon le service de localisation le plus précis et accessible à un moment donné.

Et nous pouvons espérer que les futurs navigateurs fourniront un choix du fournisseur de localisation. Je conviens qu'il serait bon pour la confidentialité et la fonctionnalité des utilisateurs si les navigateurs prenaient en charge les technologies de géolocalisation qui n'exigeaient pas l'envoi d'une liste d'identifiants WiFi à un tiers. Je suppose que les capteurs GPS étant plus souvent intégrés aux smartphones et aux ordinateurs portables, nous verrons des navigateurs vous permettant d'utiliser la détection GPS pour l'API de géolocalisation du W3C. Il pourrait également être intéressant d’avoir une fonctionnalité pour les ordinateurs de bureau où l’emplacement peut être spécifié manuellement dans les paramètres du navigateur. Cela serait également compatible avec la spécification actuelle.

19
npdoty

Tout d'abord, une démo incroyable

Essayez ceci dans Chrome.

Comment ça marche

Ici est votre réponse. Cliquez sur "Comment Google Chrome détermine votre position".

De cette page:

Si vous autorisez Google Chrome à partager votre position avec un site, le navigateur envoie des informations relatives au réseau local aux services de localisation de Google pour obtenir une estimation de votre position. Le navigateur peut alors partager votre localisation avec le site demandeur. Les informations de réseau local utilisées par les services de localisation Google pour estimer votre emplacement incluent des informations sur les points d'accès WiFi visibles, y compris la force de leur signal; informations sur votre routeur local; l'adresse IP de votre ordinateur. L’exactitude et la couverture des services de localisation de Google varient d’un lieu à l’autre.

Google Chrome enregistre les informations relatives à votre position afin de pouvoir les retrouver facilement. Cette information est mise à jour périodiquement; la fréquence des mises à jour dépend des modifications apportées aux informations de votre réseau local.

De plus, je pense que les services de localisation de Google contiennent une base de données construite à partir des données collectées par les vans de Google Street View, car ils correspondent aux emplacements avec les signaux WiFi des routeurs (ou au moins utilisés pour ).

Accéder à la base de données

En ce qui concerne la base de données (Google Location Services), cette question SO vous aidera à y accéder.

48
Chetan

Dans Firefox, ouvrez un nouvel onglet et entrez l'adresse about:config. Passez le message d'avertissement et tapez geo.wifi.uri dans la zone de filtre. Vous consultez maintenant le service Web que Firefox utilise pour déterminer votre emplacement.

10
robertc

De Firefox "Comment ça marche" :

Lorsque vous visitez un site Web géolocalisé, Firefox vous demande si vous souhaitez partager votre position.
Si vous y consentez, Firefox recueille des informations sur les points d'accès sans fil à proximité et l'adresse IP de votre ordinateur. Ensuite, Firefox envoie ces informations au fournisseur de services de géolocalisation par défaut, Google Location Services, pour obtenir une estimation de votre position. Cette estimation de l'emplacement est ensuite partagée avec le site Web demandeur.
Si vous dites que vous ne consentez pas, Firefox ne fera rien.

et de "Comment Chrome détermine votre emplacement" :

Si vous autorisez Google Chrome à partager votre position avec un site, le navigateur envoie des informations relatives au réseau local aux services de localisation de Google pour obtenir une estimation de votre position. Le navigateur peut alors partager votre localisation avec le site demandeur. Vous devez examiner la politique de confidentialité d'un site Web avant de partager votre position avec eux.

8
Nobin Thomas

Ma dernière question à la question de update4 est que, supposément, ils mettent à jour votre position de temps en temps, en fonction du périphérique que vous utilisez. Par exemple, si vous utilisez uniquement votre ordinateur pour accéder au Web et qu'il n'y a pas de réseau wifi connu à proximité, votre localisation sera déterminée par l'adresse IP. Toutefois, les informations relatives à votre réseau seront collectées. Par la suite, vous connecterez l'iPhone ou tout autre appareil avec GPS sur votre même réseau wifi, et utilisez le GPS dessus, Google associera ces coordonnées GPS à votre adresse SSID ou IP wifi. Ainsi, chaque fois que votre navigateur sur PC envoie une demande de géolocalisation, il vérifie si l'adresse IP et le SSID concordent (et peut-être un tas d'autres choses, comme le SSID dans le voisinage, etc.), et s'ils correspondent, ils renverront l'emplacement précédemment déterminé par votre appareil équipé d'un GPS. C’est juste une hypothèse, bien sûr, mais c’est peut-être le cas aussi, même si vous n’avez jamais connecté d’appareil équipé d’un GPS à votre réseau, mais cela reste précis, c’est peut-être à cause des réseaux wifi du voisinage, sont déjà connus par google .. c'est un travail génial qu'ils font, bien sûr :)

Mettre à jour:
Firefox
Google Chrome

3
Aram

HTML5 Geolocation est une interface de programmation d'application utilisée pour obtenir la position géographique d'un utilisateur. Elle localisera les positions des clients via une carte ou des coordonnées L’API de géolocalisation HTML5 permet d’obtenir la position géographique d’un utilisateur. Malheureusement, comme cela peut compromettre la confidentialité de l'utilisateur, le poste n'est disponible que si l'utilisateur l'approuve. Le W3C a mis au point un ensemble d’API permettant à l’utilisateur ou au dispositif côté client d’extraire des informations de positionnement géographique avec JavaScript.

La géolocalisation est très utile pour interagir avec les clients et leur donner des instructions visuelles. Vous pouvez l'utiliser pour afficher l'emplacement de votre client et l'afficher sur votre site Web.

En savoir plus cliquez-ici

0
Srikrushna Pal