Как Google вычисляет мое местоположение на рабочем столе?

StackOverflow https://stackoverflow.com/questions/1668304

Вопрос

Право, это меня немного смущает, я не уверен, замечал ли кто-нибудь из вас или использовал функцию "мое местоположение" на картах Google, используя свой рабочий стол (или нет GPS / нет мобильного устройства).Если у вас браузер с Google gears (проще всего использовать Google Chrome), то над функцией масштабирования в Google Maps появится синий кружок, при нажатии на который (без входа в мой аккаунт Google) с использованием стандартного Wi Fi к моему персональному маршрутизатору и обычного интернет-соединения с моим провайдером каким-то образом удается определить мое точное местоположение со 100% точностью (на данный момент времени).

Как он это делает?они кратко упоминают об этом здесь но это не совсем объясняет это, это говорит о том, что мой браузер знает, где я нахожусь...

... я сбит с толку, каким образом?

Я заинтригован, потому что я хотел бы интегрировать это в будущие мои программные проекты, просто как некоторое базовое понимание, и на данный момент это не кажется слишком хорошо документированным.

Это было полезно?

Решение

Сейчас я нахожусь в Токио, а раньше был в Швейцарии.Тем не менее, мое местоположение еще несколько дней назад не было точно определено, за исключением обширного района Токио.Сегодня я попытался, и, похоже, я нахожусь в Швейцарии.Каким образом?

Ну, секрет в том, что теперь я подключен по беспроводной сети, и мой беспроводной маршрутизатор был идентифицирован (благодаря связи с другими WIFI-устройствами, окружавшими меня в то время) в очень точном районе Швейцарии.Теперь мой Wi-Fi переместился в Токио, но запрашиваемая система по-прежнему считает, что Wi-Fi-маршрутизатор находится в Швейцарии, потому что либо у нее нет информации о дополнительных wi-Fi, окружающих меня прямо сейчас, либо она не может разобраться в противоречивой информации (а именно, конкретной информации о моем Wi-Fi-маршрутизаторе по сравнению с моей ip-геолокацией, которая точно определяет меня на дальнем Востоке).

Итак, чтобы ответить на ваш вопрос, Google или кто-то за него провел "обход", отображая наличие Wi-Fi.Каждый раз, когда выполняется запрос к системе (вероятно, в соответствии с Проект W3C для API геолокации) ваш компьютер отправляет идентификаторы Wi-Fi, которые он видит, и система выполняет две вещи:

  1. запрашивает его базу данных, существует ли геолокация для некоторых переданных вами wifi'ов, и возвращает позицию "wardrived", если она найдена, в конечном итоге с триангуляцией, если присутствуют интенсивности.Чем больше сетей Wi-Fi вокруг, тем выше точность позиционирования.
  2. добавляет дополнительные сети, которые вы видите, которых в данный момент нет в базе данных, в их базу данных, чтобы их можно было повторно использовать позже.

Как вы видите, система выстраивается сама по себе.Единственное, что вам нужно, - это хороший посев.После этого он расширяется "порциями в 50 метров" (диапазон недавно найденного Wi-Fi-соединения).

Конечно, если вы действительно хотите, чтобы система стала банальной, вы можете начать обмениваться Wi-Fi-маршрутизаторами по всему миру с другими революционерами движения "Без глобального позиционирования".

Другие советы

Они используют комбинацию IP-геолокации, а также сравнивают результаты сканирования близлежащих беспроводных сетей с базой данных на их стороне (которая создается путем сбора координат GPS вместе с данными сканирования Wi-Fi, когда пользователи телефонов Android используют свой GPS).

Это намного проще, чем вы думаете.Вы вошли как в свой мобильный, так и в Chrome на рабочем столе, используя один и тот же аккаунт Google.Google просто ожидает, что большую часть времени ваш мобильный телефон будет при вас.Они берут данные о местоположении с вашего телефона и предполагают, что местоположение вашего текущего сеанса работы на рабочем столе такое же.

Я доказал это, подключившись с работы к своему компьютеру с Windows дома и проверив Google Maps удаленно.Он показывает мое местоположение так же, как Chrome в Linux на работе.

Если у вас нет мобильного устройства, авторизованного в Google, то все, что они могут сделать, это выполнить поиск данных GeoIP по IP-адресу, назначенному вашим провайдером.Как правило, это будет крайне неточно.

Я наконец-то разобрался с этим.Самая большая проблема заключается в том, как им удалось вычислить, какие беспроводные сети были вокруг меня, и как они узнали, где эти сети находятся.

Это "кажется" чем-то похожим на это:

  1. skyhookwireless.com [или аналогичная] компания нанесла на карту местоположение многих точек беспроводного доступа, я предполагаю, что аналогичным образом Google streetview обошел вокруг и собрал все фотографии.
  2. Используя Google gears и мой браузер, мы можем сообщать, какие беспроводные сети я вижу и есть ли они вокруг меня
  3. Сравните эти беспроводные точки с их геолокацией и триангулируйте мое местоположение.

Ссылка: Слэшдот

Согласно собственной справке Google Maps:
If your browser cannot show images, get a new one!

Отвергая идею сетей Wi-Fi!

Извините, ребята...Я этого не вижу.Использование окружающих вас сетей Wi-Fi представляется крайне неточным и неэффективным методом сбора данных.Сети Wi-Fi в наши дни просто не задерживаются надолго в одном месте.

Подумайте об этом, сети Wi-Fi меняются каждый день.Не говоря уже о сетях MiFi и Adhoc, которые "спроектированы" так, чтобы быть мобильными и путешествовать вместе с пользователями.Оборудование ломается, настройки сети меняются, люди переезжают...Использование "Сетей Wi-Fi" в вашем регионе кажется крайне неточным и в конечном итоге может даже не обеспечить значительного улучшения детализации по сравнению с поиском по IP.

Я думаю, идея о том, что пользователи iPhone "сканируют и отправляют" данные опроса Wi-Fi обратно в Google, и wardriving, возможно, в сочетании с отображением Google Maps "Street View", может показаться вполне возможным методом сбора этих данных, однако на практике это не работает как бизнес-модель.

Да, и кстати, я забыл упомянуть в своем предыдущем посте...когда я первоначально определил свое местоположение в то время, когда я был "точно" указан на карте, я подключался к маршрутизатору со своего рабочего стола по Ethernet-соединению.У меня нет карты Wi-Fi на моем рабочем столе.

Итак, если бы теория о "близлежащих сетях Wi-Fi" была верна...тогда я не смог бы определить свое местоположение с такой точностью.

Я позвоню своему провайдеру SKyrim и спрошу их, используют ли они свою сетевую топологию для включения геолокации в своих сетях.

Я знаю, что вы можете посмотреть IP-адрес, чтобы получить приблизительное местоположение, но это не всегда точно.Возможно, они используют это?

Обновить:

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

Можно получить ваше приблизительное местоположение на основе вашего IP-адреса (беспроводного или фиксированного).

Смотрите, например hostip.info или максимальный разум которые в основном обеспечивают сопоставление IP-адреса с географическими координатами.Вероятно, они используют множество видов эвристики и источников данных.Такого рода система, вероятно, обладает достаточной точностью, чтобы в большинстве случаев доставить вас в нужный крупный город.

Google, вероятно, использует несколько схожий подход в дополнение к трюкам с Wi-Fi.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top