Как Chrome узнал о моем местоположении? - PullRequest
23 голосов
/ 03 сентября 2010

Хром, похоже, очень точно определяет мое местоположение. Как это сделать? Можете ли вы указать мне исходный код?

Ответы [ 6 ]

54 голосов
/ 03 сентября 2010

Геолокация может быть рассчитана на основе:

  1. GPS (при наличии)
  2. Доступные сети Wi-Fi и уровни сигналов
  3. Доступные вышки сотовой связи и уровни сигналов
  4. Поиск IP-адреса

См. W3C Geolocaton API и Google Gears API (на котором основан Chrome / W3C Geolocation API).

Исходный код геолокации Chromium можно посмотреть онлайн.

8 голосов
/ 03 сентября 2010

Ваше местоположение может быть получено с использованием различных сервисов и оборудования, доступных на вашем устройстве.Наиболее распространенными являются: GPS, информация о Wi-Fi, вышки сотовой связи.В качестве альтернативы также возможен поиск по IP, однако он не очень точен и не требует ничего особенного на вашем устройстве.

В вашем случае наиболее вероятно использовалась информация о вашей сети Wi-Fi.Существуют огромные базы данных, которые соединяют сети Wi-Fi с местоположением, созданным автомобилями с GPS и Wi-Fi (например, автомобили Google Street View).Передача с вашего компьютера на сервер осуществляется в соответствии с Спецификациями API геолокации W3C , которые являются частью HTML5.

Источник Chrome для этого? Здесь - точка входа, с которой нужно начинать.Или, если вы предпочитаете старомодный файловый браузер: http://src.chromium.org/svn/trunk/src/chrome/browser/geolocation/

Файлы реализации для локализации через wifi:

  • wifi_data_provider_mac.cc
  • wifi_data_provider_linux.cc
  • wifi_data_provider_win.cc
0 голосов
/ 03 марта 2016

браузер на ПК не имеет GPS, однако он имеет внешний IP-адрес (обычно внешний IP-адрес маршрутизатора).если другие компоненты позади того же маршрутизатора имеют gps - это расположение выводов к этому ip-адресу и через службы определения местоположения присоединяет это местоположение к браузеру.

0 голосов
/ 24 февраля 2012

Недавно я работал над заданием геолокации HTML 5. Поддерживается во всех современных браузерах (IE9, Safari, FF, Opera).
Но когда я пришел в Chrome, его не поддержали. Я потратил несколько часов, чтобы исправить это.
Наконец я нашел решение:

Геолокация в Chrome по умолчанию отключена. Чтобы активировать его, пользователи должны перейти к своему ярлыку Chrome и добавить --enable-geolocation в конец целевой строки на вкладке ярлыка.

0 голосов
/ 03 сентября 2010

Они смотрят на несколько вещей: -> Уникальные идентификаторы (SSID) беспроводных сетей в вашем регионе и уровень сигнала. -> IP-адрес (ваш публичный IP-адрес) -> GPS (если есть) -> Данные о местоположении мобильной сети (при наличии)

0 голосов
/ 03 сентября 2010

Я думаю, что они используют ваш IP-адрес и геолокацию , например http://www.ip2location.com/ или (что более вероятно) свою собственную базу геолокации / service)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...