Измерение уровня сигнала базовых станций WiFi, 3G и GSM в точках доступа. Поскольку все точки доступа Wi-Fi имеют уникальный MAC-адрес, а базовые станции 3G и GSM также имеют уникальные идентификаторы, теперь он знает, с какими базовыми станциями вы находитесь и насколько они близки, исходя из их силы.
Теперь есть несколько способов найти расстояние. Если он знает, где находится точка доступа / базовая станция, он может выполнить триангуляцию вашей позиции на основе уровня сигнала. Чтобы это работало, он должен иметь доступ как минимум к 3 AP / BS. С GSM он также может использовать функцию Timer Advance, которая показывает, насколько далеко вы находитесь от базовой станции, с точностью около 1 км. С 3G еще лучше.
Другой подход (используемый Google и другими) заключается в том, что все ваши данные об уровне сигнала отправляются на сервер. Если у вас есть GPS, то ваша информация GPS также отправляется вместе. Затем сервер может построить карту уровней сигналов для разных AP / BS в разных координатах. Поскольку у вас нет GPS, он теперь сравнивает уровни пройденного сигнала и пытается найти наиболее близкое совпадение в своей базе данных, а затем находит местоположение в этой ближайшей точке.