Questão Como os navegadores localizam a posição? [duplicado]


Duplicar Possível:
HTML5 GeoLocation preciso 

Não tenho certeza se essa pergunta deveria ser feita aqui ou não por aqui vai:

Em html5 existe uma função navigator.geolocation.getCurrentPosition que pode localizar sua posição. Eu testei essa função no IE, no Chrome e no Firefox. Embora o IE não pareça muito preciso, o firefox e o chrome conseguiram localizar minha posição com apenas 10 metros de erro. Considerando que estou usando um laptop, conectado à internet por meio de um roteador wimax via conexão sem fio, e tenho certeza de que meu laptop não tem nenhum dispositivo GPS, você tem alguma idéia de como eles estão encontrando minha localização.

Tenho certeza de que não é baseado em IP, já que todos os sites que trabalham com IP apenas dão resultados muito distantes da minha posição atual. e não parece ser algum protocolo que os navegadores usam para perguntar ao meu ISP, já que o IE não dá os mesmos resultados que outros.


2


origem




Respostas:


A Geolocation API define uma interface de alto nível para informações de localização associadas apenas ao dispositivo que hospeda a implementação, como latitude e longitude. A API em si é independente das fontes de informações de localização subjacentes. Fontes comuns de informações de localização incluem o Sistema de Posicionamento Global (GPS) e localização inferida de sinais de rede, como endereço IP, RFID, WiFi e endereços MAC Bluetooth, e IDs de célula GSM / CDMA, bem como entrada do usuário. Nenhuma garantia é dada de que a API retorna a localização real do dispositivo.

http://dev.w3.org/geo/api/spec-source.html

-

Além disso, @ fmark's answer no StackOverflow tem mais detalhes sobre como ele é implementado no Firefox. A implementação varia entre navegadores e plataformas.

Os dados enviados pelo Firefox para o Google são para todos os pontos de acesso visíveis, públicos ou privados. Para cada ponto de acesso detectado, ele envia os seguintes dados para https://www.google.com/loc/json:

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

{. . . }


0