web-dev-qa-db-fra.com

Comment fonctionne exactement la géolocalisation HTML5?

Je sais que le navigateur partage mon adresse IP et les détails des réseaux sans fil à proximité pour déterminer ma position, mais quel type d'informations connaît-il sur les réseaux wifi à proximité?

Par exemple, où je vis, il n'y a pas de réseaux publics sans fil, et de chez moi, je peux voir environ 5 réseaux privés, mais ma position est déterminée à moins de 20 mètres. En l'absence de réseaux ouverts à proximité, comment Google détermine-t-il ma position? La seule façon dont je peux penser est que Google a cartographié les emplacements de tous les réseaux sans fil lorsqu'ils ont cartographié les rues pour Street View.

J'ai fait des recherches sur Internet, mais je ne trouve aucun détail précis.

81
Dan

Les données envoyées par Firefox à Google sont pour tous les points d'accès visibles, publics ou privés. Pour chaque point d'accès détecté, il envoie les données suivantes à https://www.google.com/loc/json:

  "mac_address": "01-23-45-67-89-ab",
  "signal_strength": 8,
  "age": 0,
  "SSID": "MyAccessPoint"

  • mac_address est l'adresse mac du nœud WiFi.
  • signal_strength est la force actuelle du signal mesurée en dBm.
  • age est le nombre de millisecondes depuis la détection du nœud WiFi.
  • SSID est le nom ou ESSID du nœud WiFi .

Les données WiFi géoréférencées utilisées pour géocoder votre demande étaient collectées lorsque Google se déplaçait pour prendre des photos pour StreetView .

Il est important de noter que, cependant, c'est ainsi que l'API de géolocalisation HTML5 est implémentée sur Firefox à l'aide des services de géolocalisation de Google. Il s'agit d'une implémentation, pas d'une spécification. Si votre appareil dispose d'un GPS intégré, il est probablement souhaitable que votre implémentation HTML5 interroge directement le GPS, plutôt que d'utiliser un service de géolocalisation.

Même firefox implémente cette fonctionnalité différemment sous Windows et Linux. À l'aide d'un Firefox actuel sur Windows, les détails de tous les nœuds WiFi visibles sont envoyés à Google. En utilisant un Firefox actuel sur Linux, seuls les détails du nœud WiFi actuellement connecté sont envoyés, en raison de la dépendance à libiw pour les données de point d'accès.

Comme un autre répondeur l'a noté, Safari utilise le service de Skyhook Wireless qui fait à peu près la même chose que les services de localisation de Google.

68
fmark

Les données sont collectées par Skyhook Wireless (Wikipedia) , et ils ne font aucune distinction entre les points wifi publics et privés - ils enregistrent les emplacements de chacun d'eux. Je ne serais pas surpris si les camionnettes Google Street View enregistraient également des données de localisation pour les points d'accès.

6
ceejayoz