Gps не показывает местоположение. Геолокация на Андроид - как включить функцию в Google или Яндекс, установить специальные программы

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

Если вы запретили определять свое местоположение, в результатах поиска появится ссылка Результаты поблизости . Вы можете нажать ее, чтобы разрешить доступ к вашему местоположению и получить более точные результаты по своему запросу.

Изменить параметры доступа к местоположению можно с помощью инструкции Доступ к местоположению .

  1. Как установить город вручную
  2. Как сбросить настройки города
  3. Как запретить определять местоположение

Как Яндекс определяет мой город

Яндекс может определять местоположение вашего устройства несколькими способами:

  • По IP-адресу

    По умолчанию город, в котором находится подключенное к интернету устройство, определяется через IP-адрес этого устройства.

    Возможны ситуации, когда один и тот же IP-адрес используется в разных городах. Тогда местоположение, установленное правильно для одного пользователя, для другого пользователя будет определено некорректно.

  • С помощью технологии LBS

    Технология LBS (Location-based service ) позволяет определить более точное местоположение устройства:

    • По точкам доступа Wi-Fi. Включенный адаптер Wi-Fi устройства периодически проверяет мощность сигнала ближайших сетей. Примерное местоположение устройства можно определить, если среди сетей Wi-Fi есть хотя бы одна, о местоположении которой известно Яндексу. Например, это может быть точка доступа Wi-Fi в ближайшем кафе.
    • По ячейке сотовой сети. Местоположение мобильного устройства определяется с помощью идентификатора ячейки сотовой сети (Cell ID ), в радиусе которой находится данное устройство.

    Полученные координаты сопоставляются с нашей базой данных о местоположении точек доступа Wi-Fi и ячеек сотовой связи.

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

Всем привет! Службы геолокации, на сегодняшний день, являются одной из ключевых функций для абсолютно любого устройства. И гаджеты от Apple не являются каким-то исключением. Нет, конечно, звонить, писать смс, делать заметки и выходить в интернет вполне можно без и их использования. Однако есть немало программ, приложений и сервисов, в которых без определения точного позиционирования вообще никуда.

Взять, к примеру, те же карты или максимально крутую (на мой взгляд) опцию «Найти iPhone» (режим пропажи, удаленная блокировка и т.д.). Согласитесь, что без обнаружения координат использовать их было бы сильно затруднительно (если вообще возможно). Так что геолокация вещь очень нужная - давайте узнаем о ней поподробней...

Поехали же!:)

Что такое геолокация в iOS и зачем она нужна?

Как Вы уже наверно поняли, под этим термином скрывается более привычное нам слово - навигация. Именно она отвечает за определение точного местоположения Вашего iPhone или iPad.

Пользоваться навигацией можно на абсолютно всех iOS-устройствах, кроме:

  • iPod Touch.
  • iPad (версии без поддержки сим-карты).

Именно на этих гаджетах службы геолокации не работают, по простой причине - Apple не устанавливает в них GPS-приемники.

Зачем вообще она нужна? Ну здесь все понятно - существует масса программ (карты, навигационные приложения, погода и т.д.), для нормальной и корректной работы которых, эти службы просто необходимы.

На что стоит обратить внимание при использовании:

  1. Как правило устройство сильно греется.
  2. Батарейка достаточно быстро расходуется.

Как я , это нормально и паниковать не стоит. Просто обращайте внимание на в верхней части экрана, и если значок геолокации горит постоянно - значит какое-то приложение его непрерывно использует. Лучше закрыть его или своевременно отключить доступ этой программе к GPS. Как это сделать...

Как включить и отключить службы геолокации в iPhone и iPad

Управлять ими, как и любой другой функцией, можно в настройках устройства. Переходим в Настройки - Конфиденциальность - Службы геолокации.

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

Доступны два решения:

  • Никогда не включать.
  • Только при использовании программы.

Лучше оставить второй вариант. Тогда получается, что GPS вроде как всегда включен, однако использоваться будет только в тот момент, когда необходимо самой программе. Что позитивно сказывается на зарядке:)

Кстати, если вы только купили устройство, то при , также доступна возможность активации геолокации.

Как осуществить поиск iPhone по геолокации - через компьютер и мобильное устройство

Великолепная опция, благодаря которой можно найти iPhone или iPad. Для того, чтобы выполнить поиск устройства, необходимо соблюдение двух условий:

  1. Активная функция «найти iPhone» ( включена или нет).
  2. Работающая геолокация.

Если эти два условия соблюдены, то начинаем искать! Не важно откуда, с компьютера или мобильного, переходим на сайт iCloud , а далее указываем Apple ID и пароль (тот который установлен на пропавшем гаджете).

Достаточно нажать на кнопку «найти iPhone» и через некоторое время вы увидите на картах то место, где он находится сейчас.

Плюс будет возможность выполнить некоторые действия с ним:

  • Воспроизвести звук (удобно если потеряли его дома).
  • Активировать режим пропажи, тогда устройство будет заблокировано и чтобы разблокировать и пользоваться им, необходимо будет ввести Ваш Apple ID и пароль (об этой ситуации и как ее решить ).
  • Стереть Айфон. Равносильно сбросу до заводских настроек. Просто удаляете всю информацию с него.

Переходим к самому неприятному, к проблемам...

Что делать если не работает геолокация в iPhone?

Именно механическая поломка, когда не работает модуль GPS, встречается достаточно редко.

И здесь понятно что делать - либо пользоваться без него, либо заменить в сервисном центре. Однако часто проблемы можно решить не прибегая к помощи специалистов.

  1. Необходимо понять, где конкретно не работает навигация. Если только в одном или нескольких приложениях - то смотрим включены ли службы именно для этих программ (как это сделать читаем в начале статьи).
  2. Если не точно или плохо определяет местоположение - проверьте включен ли интернет через сим-карту или Wi-Fi. Эти данные помогают позиционировать вас лучше. Плюс на точность влияют - рельефы местности, постройки, здания, облака и т.д. В общем все то, что стоит на прямом пути между спутниками и iPhone.
  3. Джелбрейк, а точнее установленные с помощью него твики, также могут вызвать сбои в работе навигации.
  4. Можно сбросить настройки сети, а если не помогает, то

Возможность отслеживать местоположение ранее была только у спецслужб и военных, а сейчас любой пользователь мобильного может строить собственные маршруты, просматривать посещенные места и следить за другим человеком (с его согласия). Система навигации встроена во все современные смартфоны, ее легко активировать: за это отвечает система GPS и передача данных через интернет. Геолокационные данные можно получить и при помощи программ-шпионов.

Что такое передача геоданных на Андроиде

GPS – система определения расположение устройства на поверхности земли. Многие приложения на базе Android и iOS связаны с геолокацией, к примеру, поиск ближайших достопримечательностей, кафе, магазинов. С помощью геоданных пользователь может проложить оптимальный маршрут, чтобы добраться до точки назначения внутри или за пределами города.

Система навигации работает благодаря связи со спутником или ближайшими вышками сотового оператора. Как правило, телефон находит маяки для получения сигнала и получает от них информацию, передавая данные о вашем местонахождении. Современные мобильные телефоны работают со всеми доступными навигационными системами без привязки к конкретной стране. Для работы с GPS используются системы ГЛОНАСС, GPS, Deidou (Китай). Основная функция геолокации для Андроид – построение маршрута к нужной точке. Для этого можно использовать Гугл-аккаунт или сторонние приложения.

Как включить геолокацию на андроиде

Некоторые приложения и программы автоматически после установки предлагают включить систему определения координат, к примеру, фотографии, Инстаграм, Tinder, Карты. Необходимо просто нажать на «Разрешить» – и функция активируется. Если функцию нужно включать самостоятельно (вручную), то придерживайтесь следующей инструкции:

  1. Откройте меню «Настройки».
  2. Перейдите в пункт «Безопасность и местоположение».
  3. Откройте раздел «Местоположение».
  4. Переключатель переведите в положение On (просто свапните его вправо). Свитчер должен подсветиться, что указывает на активное состояние.
  5. На новых моделях телефонов существует быстрая панель настроек (как правило свапом верхней панели вниз).
  6. Найдите значок с подписью GPS и активируйте его.

Если вы владеете телефоном от Apple, то активировать геолокацию можно следующим образом:

  1. Перейдите в настройки телефона.
  2. Откройте раздел «Приватность» или «Конфиденциальность».
  3. Затем нажмите на пункт «Службы геолокации».
  4. Здесь нужно переключить в положение On свитчер напротив программ, которые поддерживают определение данных местоположения.
  5. При первом включении приложений, которые используют GPS, появится запрос на активацию геопозиционирования.

Режимы работы

Для отслеживания положения устройства в пространстве существует несколько источников информации. При активации функции вам предложат выбрать один из трех режимов:

  1. По всем источникам. Предпочтительный вариант, в ранних версиях операционной системы Андроид назывался «Высокая точность». Предлагает максимальную точность определения местоположения устройства, используется весь доступный инструментарий для геопозиционирования. Будут собранны данные от мобильного оператора, со спутников GPS, информация через каналы Bluetooth и Wi-Fi (если включены).
  2. По координатам сети. В ранних версиях Андроид назывался режим «Экономия заряда батареи». Эта функция задействовала для слежения только данный от сотового оператора или беспроводных сетей. Экономным режим называется, потому что GPS деактивирован и не потребляет заряд батареи. Это помогает пользователю продлить время автономной работы и сохранить заряд батареи.
  3. По спутникам GPS. В ранних версиях Андроид называется «По датчикам устройства». Для геолокации используются данные только от GPS-маячка. Информация от беспроводных сетей, мобильного оператора учитываться не будет.

История местоположений и передача геоданных

В разделе меню «История местоположений» можно активировать запись ваших маршрутов, мест посещения разных заведений и достопримечательностей. Хранятся данные на серверах Гугл, просмотреть их можно через аккаунт в этой системе на «Google Карты». Для этого понадобится открыть раздел под названием «Хронология». Перед этим необходимо выполнить хотя бы один раз вход со своего устройства в аккаунт Гугл.

Если вы хотите, чтобы ваши родственники или друзья имели доступ к вашему местоположению, необходимо в разделе «Передача геоданных» добавить пользователей. Им будет доступна информация о ваших передвижениях и фактическом нахождении в реальном времени. Доверенные пользователи смогут отслеживать перемещение тоже через «Google Карты» из раздела «Показывать, где я».

Как пользоваться геолокацией

Особенности применения этой функции зависят от целей, которые вы перед ней ставите. Геолокация на Андроид и iOS есть на всех современных смартфонах. После активации вы сможете отмечать на фотографиях места, где они были сделаны (подтягиваются данные автоматически), отмечать интересные точки на карте. Координаты добавляются при наличии разрешения во все популярные социальные сети: ВКонтакте, Фейсбук, Инстаграм. Использовать геолокацию можно и для слежения за конкретным человеком. Для этого понадобится использовать дополнительные программы и приложения.

Определение местоположения телефона через Гугл

При наличии профиля на сервисе Google вы можете привязать устройство к нему. Поисковый гигант предлагает специальную функцию «Найти устройство», которая активируется при первом входе с мобильного в аккаунт. У вас будет возможность запустить громкий звуковой сигнал даже при выключенном звуке, заблокировать устройство или стереть с него полностью все данные. Один из разделов «Показать на карте» определяет местоположение мобильного, но только при условии, что:

  • устройство включено, связано с данным аккаунтом Гугл;
  • присутствует связь с интернетом;
  • активирована функция геолокации;
  • функция «Найти устройство» активирована.

Для просмотра местоположения устройства на Андроид внутри аккаунта от Гугл необходимо сделать следующее:

  1. Зайдите на страницу своего аккаунта.
  2. Вверху будет выбор устройств (если вы используете несколько), выберите нужное.
  3. Появится перечень действий: отправить звуковой сигнал, заблокировать, найти устройство.
  4. Если вышеописанные условия выполнены, то на карте появится точка, где находится мобильный.
  5. Если какие-то параметры отключены, то покажет последнее место, где был зафиксирован телефон.

Find My Android

Это программа геолокации для Андроид подходит для всех моделей на версии от 1.6. Необходимо скачать приложение и перекинуть на телефон через кабель. Далее распаковываете установочный файл, после инсталляции приложение работает в автономном режиме, никак не проявляет себя. Сторонние сервисы для хранения данных не используются, все данные отправляются на вашу почту от вашего имени.

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

  1. Перед установкой в настройках устройства Андроид необходимо активировать пункт «Неизвестные источники», чтобы была возможность инсталлировать утилиту.
  2. С телефона, который необходимо отслеживать, перейдите на сайт и кликните на кнопку «Установить».
  3. Программа затребует право на доступ к интернету, отправку и чтение SMS. Подтвердите все эти допуски.
  4. Для получения данных о местоположении отправьте на мобильный SMS с командой =location=. Вам придет ответное SMS с координатами.

Google Maps

Еще одно приложение от Гугл, которая специализируется на геолокации. При помощи карт можно проложить оптимальный маршрут по всему миру. Полезная функция приложения «Показывать, где я» помогает отслеживать местонахождение пользователя. Приложение работает как на Андроид-устройствах, так и с iOS. Программа должна быть установлена на обоих телефонах (вашем и том, владельца которого вы хотите отследить). Вам необходимо выполнить следующие действия:

  1. На отслеживаемом устройстве активируйте функция «Показывать, где я» из аккаунта Гугл.
  2. Выберите период отслеживания, укажите свой номер телефона или электронную почту.
  3. Далее уже на своем мобильном перейдите в Гугл Карты, откройте раздел «Показывать, где я» и выберите отслеживаемый телефон из списка.

Программы для построения маршрута по адресам Андроид

Все приложения, которые способны работать с картами, можно грубо поделить на два типа: оффлайн- и онлайн-доступ. Последним для работы требуется подключение к серверам, которые содержат данные по картам, обновления, и могут подкачивать недостающие файлы. Подключение требуется во время построения маршрута. Если сохранить его потом в памяти устройства (кеш), то повторной активации интернета не потребуется. Существует ряд программ, которые всегда требуют выхода в сеть. Минусами таких карт являются следующие факторы:

  • на закачку карт требуется трафик, траты невысокие, но они есть;
  • срок работы мобильного без подзарядки снижается из-за постоянно активного подключения к сети;
  • не везде есть доступ к интернету.

Программы оффлайн типа не требуют подключения к интернету: необходимо только подключение к компьютеру, у которого есть выход в сеть. Через шнур с него можно перекинуть карты на мобильный или другие устройства на Андроид. Маршрут строится на основании уже существующих в базе данных, поэтому построить совершенно новые пути у пользователя не получится. К тому же придется хранить обширный объем данных на телефоне.

Яндекс.Навигатор

Это сервис от поисковой системы Yandex, который способен работать как онлайн, так и оффлайн. Навигатор помогает решить проблемы, непредвиденные ситуации, которые возникают на дороге. Сначала его необходимо установить на мобильный с операционной системой Андроид:

  1. Откройте официальный магазин от Гугл.
  2. Через поиск найдите Яндекс.Навигатор.
  3. Кликните по значку «Установить».

Для начала пользования необходимо провести первоначальную настройку приложения. Владелец мобильного может выставить параметры под себя по следующей инструкции:

  1. Нажмите на иконку приложения, которая появилась на вашем экране смартфона.
  2. Только при первом запуске выскочит два запроса от программы. Подтвердите доступ к геолокации, микрофону.
  3. Рекомендуется выполнить оба разрешения, чтобы навигатор работал максимально корректно.

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

  1. Кликните по кнопке «Меню», которая расположении внизу справа. Откройте раздел «Настройки».
  2. Пункт «Вид карты» отвечает за переключение между спутниковой и стандартной схемой дорог и улиц. Можно выбрать один из вариантов, но схематический вариант считается удобнее.
  3. Чтобы перейти в оффлайн-режим, необходимо открыть пункт «Загрузка карт», далее нажать на строчку поиска. Появится выбор стран, краев, областей, городов и провинций. Найдите необходимую вам местность.
  4. Вкладка «Курсор» отвечает за значок вашего текущей позиции.

Раздел настроек «Звук» отвечает за выбор языка, на котором программа будет комментировать маршрут, информацию о дороге. На этой вкладке можно внести следующие настройки:

  1. Запустите вкладку «Диктор».
  2. Выберите подходящую для вас настройку (женский или мужской голос и т.д.).
  3. Оставьте последние три пункта включенными, чтобы можно было проложить маршрут при помощи голосовой команды «Слушай, Яндекс». Просто продиктуйте точку назначения – и программа проложит путь.

Это все основные настройки перед началом работы с программой. Для построения маршрута можно использовать два способа ввода:

  1. Ручной. Нажмите на строчку поиска, наберите необходимый адрес и тапните на «Поиск». Навигатор будет подсказывать варианты улиц.
  2. Голосовой. Скажите фразу «Слушай, Яндекс». Появится внизу окошко со словом «Говорите» – назовите улицу или пункт назначения. Это очень удобно, чтобы не отвлекаться от управления автомобилем.

Яндекс.Навигатор предложит два кратчайших маршрута, расстояние до пункта назначения. Выберите подходящий и нажмите кнопку «Поехали». Андроид-устройство перейдет в режим поездки, будут указаны оставшееся время поездки, скорость движения, расстояние до первого поворота. Следуйте данным геолокации и указаниям диктора. Утилита при онлайн-подключении указывает на загруженность дорог, вероятные и существующие пробки. Активировать эту функцию можно нажатием на светофор справа сверху.

Для работы с оффлайн-режимом не нужен интернет, хватит мобильного на Андроид и включенной геолокации через GPS. Для прокладки маршрута необходимо заранее скачать файлы местности на мобильный. Алгоритм построения пути при наличии карт совпадает с онлайн-режимом. Чтобы запомнить маршрут заранее, необходимо нажать на кнопку «Мои места» и сохранить.

2GIS

2ГИС – самостоятельный проект, который не относится ни к одной из поисковых систем. Геолокация на Андроид реализована по принципу навигатора, можно задать маршрут из точки А в точку Б, указав адрес, название организации или просто ткнув пальцем в любое месте на карте. Главный минус приложения на Андроид – оно платное. Для использования же на ПК покупать его не нужно.

Программа рассчитает оптимальный маршрут и покажет, как туда добраться на общественном транспорте. Путь пешком или на машине утилита не поддерживает, поэтому автомобилистам она не подходит. Контента у 2ГИС еще мало, далеко не все города России есть, не говоря уже про зарубежные, но разработчики постоянно обновляют карты. Программу используют больше как справочник, чем как вариант для геолокации на Андроид.

Приложения для слежения за человеком

Использовать GPS можно не только для построения маршрута и облегчения путешествий по незнакомым местам. При желании человек может определить местоположение телефона андроид. Причины для этого самые разные: утеря мобильного, недоверие близкому человеку или сотруднику, переживания за ребенка. Утилиты для слежения подключаются к системе геолокации и передают вам данные о местоположении. Ниже представлены популярные варианты для Андроид.

GPS-трекер Family Locator

Название указывает на то, что приложение помогает следить за родственниками и детьми, но только с их ведома. Для географического позиционирования нужно обязательно включить GPS-трекер, который будет отправлять данные на ваш компьютер или мобильный. Приложение устанавливается на несколько мобильных с Андроид, затем создается «Круг». Каждый должен подтвердить разрешение на отслеживание при помощи геолокации.

Главный минус программы – обязательно должен быть активирован GPS-маячок, без него установить местоположение не получится. Скачать GPS-трекер Family Locator можно бесплатно, скачайте на телефон файл через USB-шнур и запустите инсталляцию. Приложение обладает следующими опциями:

  • отправка сигнала SOS одним кликом;
  • определяет местоположение при включенном GPS;
  • присылает сообщение при отклонении от направления, заданного маршрутом;
  • можно задать пункт прибытия, приложение пришлет сообщение, когда пользователь до него доберется.

Lost Android

Загружать утилиту можно прямо из официального магазина приложений Андроид, распространяется на бесплатной основе. Помогает узнать при помощи геолокации, где находится мобильный, на который установлена программа. Для управления, просмотра данных необходимо зарегистрироваться на сайте разработчика, будет предоставлен доступ к личному кабинету. Главный недостаток – отсутствие русского языка, интерфейс полностью на английском. Приложение обладает высоким потенциалом для удаленного управления устройством на Андроид:

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

Где мои дети

Приложение помогает отслеживать не только местонахождение ребенка по геолокации, но и состояние мобильного. При низком заряде батареи система отправляет родителю сообщение об этом. Определение местоположения Андроид не единственная функция программы, также она имеет следующие опции:

  1. Прослушка. Запускает удаленно работу микрофона, что позволяет прослушивать окружение, записывать аудиодорожку без ведома ребенка. Это полезная функция для родителей, чьи дети находятся в беспокойном подростковом возрасте.
  2. Установка зон перемещений. Родители создают специальные зоны (школа, секция спорта, ваш двор) и если ребенок ее покидает, приходит оповещение. Можно позвонить ему и попросить вернуться обратно.
  3. Сохранение маршрута передвижений. Приложение хранит данные о том, где за последние 2 дня побывал пользователь.

Программа после установки может работать в двух режимах – ребенок и родитель. Первый должен быть активирован на том андроид-устройстве, которое будет отслеживаться. Второй нужен для получения данных и контроля. Помните, что геолокация на Андроид работает только при включенном GPS и утилиту легко отключить, если ее заметит пользователь, поэтому скрытно установить слежку не получится.

Как отключить геолокацию на Андроиде

Функция геолокации, как правило, требует доступ в интернет и активацию GPS-навигатора. Это создает дополнительную нагрузку на батарею и она разряжается быстрее. Отключить на устройстве под управлением Андроид геолокацию можно по следующей инструкции:

  1. Перейдите в настройки устройства.
  2. Найдите раздел «Местоположение».
  3. Деактивируйте опцию.
  4. Выполнить отключение получится и через меню быстрого доступа (свайп с верхней части экрана вниз). Просто нажмите еще раз на значок GPS.

Видео

Сейчас всё больше мобильных приложений становятся геозависимыми. Одни просто не имеют смысла без знаний о местоположении пользователя, другие становятся с ним удобнее. Это так называемые Location Based Services (LBS): навигаторы, форскверы, инстаграмы с геотегами фотографий и даже приложения-напоминалки, которые срабатывают около конкретного места, например, рядом с офисом или магазином.

Для сервисов и приложений Яндекса мы создали собственную реализацию метода определения местоположения без GPS - Яндекс.Локатор . Он экономит время пользователя и делает наши приложения чуточку умнее. В Навигаторе и Картах она избавляет от ввода начальной точки маршрута, даже если вы на крытой парковке. А при выборе фильма в Киноафише или товара в мобильном Маркете помогает сразу показать, где их найти именно в вашем районе города. Ну и, разумеется, при поиске кафе и банкоматов - позволяет показывать вам сразу ближайшие, даже когда вы в метро.

Технологию мы давно открыли в виде бесплатного API. Сегодня хотим рассказать, как она устроена.

Почему без GPS и как иначе

Спутниковые системы навигации (GNSS), в нашем случае это GPS и ГЛОНАСС, - самый точный на сегодняшний день метод геоопределения. Соответствующие модули есть практически во всех современных смартфонах. Но не всегда и не везде он может решить задачи LBS.

Во-первых, поиск спутников иногда занимает несколько минут, а бывают ситуации, в которых скорость определения важна даже с потерей точности. Например, когда нужно построить предварительный маршрут в навигаторе или зачекиниться . Во-вторых, спутники обычно не «видны» в помещениях или под землёй. В-третьих, GPS-модули есть не в каждом мобильном телефоне или планшете, и их почти нет в ноутбуках. То есть для LBS нужны альтернативы.

И альтернативы, конечно, есть - определять местоположение можно по ближайшим GSM-вышкам, сетям Wi-Fi и даже по IP-адресу. Точность определения у каждого из этих способов гораздо хуже, чем у GPS. Но если их скомбинировать, они вместе дадут приемлемое качество. При этом какие-то недостатки одного нейтрализуются возможностями другого. GSM-вышки есть практически везде, а Wi-Fi сети - нет. При этом по Wi-Fi точность определения лучше. Поэтому комбинированный способ по полноте и точности лучше, чем каждый в отдельности. Менее известен факт, что у двух роутеров в разных частях города может оказаться одинаковый MAC-адрес. Совмещение GSM и Wi-Fi решает такие коллизии. У этих роутеров, скорее всего, рядом будут находиться вышки с разными идентификаторами - ведь вероятность совпадения в пределах квартала гораздо меньше, чем в масштабах всего города.

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

База местоположений сетей

В дилемме «купить или создать» мы в конечном счёте предпочли второе. Основная причина - что с собственными данными и алгоритмами гораздо легче контролировать качество результата. В сборе информации нам помогли пользователи мобильных Яндекс.Карт.

Когда мы начинали разрабатывать Локатор, на улицах городов были уже сотни тысяч людей с включёнными в телефонах Яндекс.Картами. С согласия пользователя приложение постоянно передаёт его GPS-координаты - на основе этой информации строятся Яндекс.Пробки. Мы подумали, что вместе с этим приложение может отмечать, какой базовой станцией обслуживается телефон в этих координатах, какие видны сети Wi-Fi (при этом, конечно, к самим сетям не подключаясь - чтобы не создавать privacy-рисков).

Человеку для участия в таком краудсорсинге ничего специально делать не нужно - просто пользоваться приложением. Как и о координатах, данные об окружающих Wi-Fi сетях и станциях GSM обезличены. Они практически ничего не «весят», и батарейка от их передачи, соответственно, быстрее не садится.

Таким образом, пользователи стали помогать друг другу:


Одни, с GPS-приёмником в телефоне, узнают точное расположение сетей и передают информацию в Яндекс. Другие, у которых GPS-модулей нет, присылают список сетей, которые видят в данный момент, и получают в ответ своё примерное местоположение на карте.

База собрана и регулярно обновляется. И тут мы сталкиваемся со следующей проблемой.

«Переезд» сетей

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

Вот как нам удалось решить одновременно проблемы с переездом и вышек, и роутеров. От пользователя поступает запрос на определение местоположения вместе с данными о том, какие сети он видит. Если в списке сетей есть та, что была замечена в разных частях города, алгоритм учитывает, сколько сигналов от неё накоплено в каждом районе и возраст последнего. Каждое плотное скопление сигналов от Wi-Fi сети или сотовой вышки мы называем «облаком». Чем больше сигналов в облаке и чем они свежее, тем больше оно заслуживает доверия. Ответом будет, соответственно, самое большое и свежее. А облако, в котором нет сигналов больше месяца, мы считаем устаревшим - даже если для этой сети не появилось более свежего облака в другом районе.

Радиус облака

Поскольку положение определяется примерно, нельзя показать точку - нужно нарисовать круг (ведь радиосигнал в отсутствие помех распределяется во все стороны равномерно). Хотя, если посмотреть на фактическую картину сигналов, чаще всего это эллипс. Ведь больше всего пользуются мобильными Картами автомобилисты. Их GPS-следы остаются на дорогах, а из дворов и, тем более, из зданий сигналов практически не поступает.

Чтобы ответ был предельно точным, радиус круга должен быть минимальным. Если просто обвести окружность вокруг всех точек сигналов конкретной сети, радиус получится слишком большим. Уменьшить его помогла мат. статистика. Плотность сигналов подвержена нормальному распределению, то есть применимо правило трёх сигм . В окрестность такого радиуса попадает 99,7% точек.

Мы решили пойти дальше и экспериментально подобрали сигме такой коэффициент, который максимально уменьшил радиус, но сохранил приемлемую точность. Удалось это, потому что в большинстве случаев пользователь видит несколько сетей. То есть «открытые» уменьшением коэффициента области, скорее всего, перекрываются другими облаками.

Необлачные сигналы

К сожалению, не все GPS-сигналы от пользователей просто скомпоновать в облака. Оказалось, что, если наложить на карту все сигналы отдельно взятой сети, помимо «эллипсов» на ней окажутся точки и линии. Это, соответственно, одиночные сигналы, сильно удалённые от скопления сигналов той же сети, и очень длинные GPS-треки (т.е. цепочки GPS-сигналов).

«Одиночки» появляются, например, когда человек передвигается на метро. Телефон теряет связь с сотой на одной станции, а при выходе на другой всё ещё считает, что обслуживается той сотой. Такие сигналы Локатор отфильтровывает. Кроме того, мы установили минимальный порог для облаков, чтобы не полагаться на слишком малочисленные скопления сигналов.

Длинные GPS-треки появляются, например, когда человек едет на машине через весь город. Телефон «тащит» за собой идентификатор вышки с начала маршрута и передаёт, что якобы видит её на всём пути. Известно, что у базовых станций ограниченный радиус действия, так что такие GPS-треки Локатор тоже отфильтровывает. Треки, длина которых укладывается в радиус действия вышки, остаются. Как правило, они заметны в районах, где мало данных. Там они становятся цепочкой небольших облаков.

Сигналы-одиночки, маленькие облака и длинные треки мы считаем «шумом». Когда пользователь видит одну единственную сеть, для которой нам известны только такие сигналы, он получает ответ, что местоположение определить не удалось. Мы считаем это более правильным, чем давать заведомо неверный, по нашим оценкам, результат.

Когда данных было накоплено мало, была ещё одна трудность с объединением всех сигналов в одно облако. Случалось что сигналы от вышки из одного города приходили также из другого. Помогло нам наличие в идентификаторах GSM-сетей кода зоны местоположения - LAC (Location Area Code). Поскольку вышки с одинаковым кодом должны по стандарту находиться рядом, облакам, которые оказались «не в своём городе» (т.е. среди облаков с другим LAC), Локатор стал придавать заниженный вес.

Улучшение точности определения…

…по GSM-сетям
Когда-то приложениям была доступна информация лишь об одной базовой станции, хоть телефон видит чаще всего несколько. После появления платформы Android приложения смогли научиться видеть их все (кроме подключения в стандарте 3G, который позволяет узнать только одну сотовую вышку). Местоположение стало определяться точнее - уже не по одному облаку, а по совокупности нескольких. Оказалось, что для множества облаков можно использовать тот же подход, что и для одного. Радиус считается по среднеквадратичному отклонению сигналов, входящих в совокупность облаков, а центр вычисляется по среднему их координат.
…по Wi-Fi-сетям
Когда смартфон находится в радиусе действия нескольких Wi-Fi-сетей, он может сообщить не только их список, но и мощность сигнала каждой. Знание об этой мощности мы и использовали для уточнения центра окружности, в которой находится пользователь. К центрам наблюдаемых облаков мы начали подвешивать воображаемые пружинки - тем туже, чем сильнее сигнал. А их свободные концы - соединять. Точка, в которой эти пружинки уравновешиваются, и есть уточнённый центр.

Получившееся качество

Сначала несколько слов о том, как мы оцениваем качество нашего решения. Как уже говорилось, от пользователей, у которых есть в устройствах GPS-модуль, Локатор получает и координаты, и список сетей, которые видят устройства. Для оценки качества он сначала определяет примерное местоположение, ориентируясь только на эти сети. А затем проверяет, попали ли истинные координаты от пользователя в предположенную Локатором окружность.

Используя эту методику, мы получили следующие цифры:

  • для 83% запросов в сутки местоположение определено правильно - GPS-координаты устройства попали в область, названную Локатором
  • 14% сигналов - с ошибкой:
    • 7% - ошибка меньше 100 метров
    • 5,6% - от 100 метров до нескольких километров
    • 1,4% - Локатор ошибается городом
  • оставшиеся 3% запросов получают ответ «Местоположение не найдено»


Можно ли добиться лучшего качества? Да. Преимущество метода в том, что при определённой зрелости алгоритмов достаточно лишь собирать больше данных, чтобы определять местоположение точнее. А это достаточно легко, потому что растёт и количество Wi-Fi сетей, и количество пользователей наших приложений.

Но есть технологические пределы:

  • если телефон сообщает только об одной GSM-вышке - минимальный радиус составит несколько сотен метров в городе, и несколько километров за городом
  • если телефон видит несколько вышек - центр можно определить точнее, но радиус уменьшить вряд ли получится
  • если видна Wi-Fi сеть - минимальный радиус будет 10 метров

Объёмы вычислений

Чтобы быстро отвечать пользователю, нужно заранее подготовить весь ответ или, хотя бы, существенную часть. Каждую ночь кластер на базе нашей системы распределённых вычислений YAMR агрегирует сигналы, полученные вплоть до вчерашнего дня, получая готовые для ответа «облака». В момент запроса Локатору остаётся только правильным образом их скомбинировать. Так терабайты «сырых сигналов» сжались до 1.5-2 ГБ готовых ответов, которые запросто помещаются в память. И подготовка ответа почти всегда укладывается в 1 мс, а каждый сервер в кластере выдерживает 10 тыс. RPS.

А чтобы продолжительность ежесуточного расчёта не росла линейно с ростом истории GPS-сигналов, мы добились «аддитивности» облаков. Теперь достаточно хранить лишь несколько показателей на каждое облако, и не нужно каждые сутки заново обрабатывать всю старую историю.

Готовить более полный ответ оказывается неэффективно. Если кластеризовать каждую комбинацию сетей в отдельное облако, получается комбинаторный взрыв. Объём готовых ответов растёт на несколько порядков, а при частичном совпадении сетей на подготовку ответа нужно даже больше расчётов.

Аналоги

Сервисы определения местоположения без GPS, как мы уже говорили, есть не только у Яндекса. Разработчики могут обратиться к коммерческому поставщику (как, например, Altergeo в России и Skyhook Wireless в мире), либо использовать API мобильной платформы или браузера.

Вообще собрать такую базу можно тремя способами:

  • объехать интересующие города на автомобилях, сканируя сети, а потом периодически объезжать заново, чтобы обновлять базу
  • создать массовое мобильное приложение (например, Яндекс.Карты)
  • создать мобильную платформу (например, iOS или Android)
Но выбирать между разными решениями приходится только разработчику геозависимого приложения, а пользователь «живёт» с этим выбором. В отсутствие единой методики сравнения нужно обращать внимания на точность определения (радиус «допуска» и процент ошибок) в интересующих регионах. Добавить метки

В продолжение темы:
Android

Популярная социальная сеть ВКонтакте позволяет находить новых друзей и держать контакт со всеми близкими. Помимо этого, каждый пользователь может делиться собственными...