Как пользоваться геолокацией: Геолокация на Андроид — как настроить отслеживание местоположения и правильно пользоваться

Геолокация на Андроид — как настроить отслеживание местоположения и правильно пользоваться

Возможность отслеживать местоположение ранее была только у спецслужб и военных, а сейчас любой пользователь мобильного может строить собственные маршруты, просматривать посещенные места и следить за другим человеком (с его согласия). Система навигации встроена во все современные смартфоны, ее легко активировать: за это отвечает система 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;
  • присылает сообщение при отклонении от направления, заданного маршрутом;
  • можно задать пункт прибытия, приложение пришлет сообщение, когда пользователь до него доберется.

Приложение GPS-трекер Family Locator

Lost Android


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


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

Где мои дети


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


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

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



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


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


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

Видео



Геопозиция и геолокация: мега-инструмент / Хабр

Вступление

Сегодня геолокация и геопозиционирование превратились в государство, о котором мы не мечтали около 60 лет назад, в период первых мыслей о создании Интернет-сети.

Исследуйте геолокацию и API бесплатно вместе с сервисом геолокации IPGeolocation.io

Картография превратилась в чудо — из безумно больших листов бумаги в то, что умещается на ладони.

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

  • ближайший отель
  • аптеку или больницу
  • продуктовый магазин
  • университет или школу
  • место проведения концерта Pink в Сан-Франциско

Трансформация технологии на этом не остановится. Это станет лучше и точнее, как никогда.

Эволюция во времени

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

Экскурс в прошлое



Древние греки триангулировали свое местоположение, используя расположение звезд. Они рассчитывали звезды в качестве своих путеводителей во время путешествий. Использовав такие звезды как Полярис (Северная Звезда) или Сириус, они могли найти себя во время длительных и дальных путешествий.

Перенесемся на много лет назад, где первая практическая радиолокационная система была изобретена сэром Робертом Уоттом в 1935 году.

В 1989 году в США был запущен самый первый спутник GPS для коммерческого использования.

Развитие этой технологии стало быстрым с этого момента. Всего за 10 лет Benefon Inc. стала первой компанией, представившей первый коммерчески доступный мобильный телефон со встроенным GPS.

Это 2019 год и мы прошли долгий путь со времен Бенефона.

Вы можете найти потерянных домашних животных с ошейниками, детей, родителей, которые имеют встроенный GPS в умные устройства.

Сейчас можно найти местоположение вашего любимого гамбургера и его доставку, не вставая из своего дивана.

Вот, как мы используем эту технологию индивидуально в повседневной жизни.

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

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

Что такое геолокация?

Согласно Википедии,

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

Иначе говоря, геолокация — это Ваш физический сетевой адрес на планете.

IPv4 и IPv6 адреса

IP является аббревиатурой от интернет-протокола. IP-адрес — это уникально идентифицируемая метка для каждого устройства, подключенного к компьютерной сети и имеющая распределения по месту регистрации для континентов (регистраторы). Или, проще говоря, IP — это ваш виртуальный адрес.

Где бы в мире вы ни пользовались Интернетом, Вам будет присвоен IP-адрес.

IP-адреса формируются в собственные диапазоны, которые закреплены региональными интернет-регистраторами для разных провайдеров и владельцев сетей, регулируемые автономной системой (ASN):

American Registry for Internet Numbers (ARIN) — для Северной Америки;

RIPE Network Coordination Centre (RIPE NCC) — для Европы, Ближнего Востока и Центральной Азии;

Asia-Pacific Network Information Centre (APNIC) — для Азии и Тихоокеанского региона;

Latin American and Caribbean Network Information Centre (LACNIC) — для Латинской Америки и Карибского региона;

African Network Information Centre (AfriNIC) — для Африки и региона Индийского океана.

При работе с IP-адресами Вы увидите два типа IP-адресов:

0.0.0.0 — это адрес IPv4,

а 2001:db8:85a3::8a2e:370:7334 — пример адреса IPv6.

Что такое API?

API — это сокращение от интерфейса прикладного программирования.

Это набор функций, который позволяет приложениям общаться друг с другом. Вы видели сайты, которые позволяют Вам зарегистрироваться через Facebook или Twitter (или любую внешнюю платформу). Эти отношения между этим сайтом и Facebook создаются с помощью API.

Итак, теперь, когда мы знаем, что такое геолокация, IP и API, я представляю Вам IP Geolocation API.

API геолокации на деле

IP Geolocation API — это небольшой фрагмент кода (API), который помогает определить приблизительное физическое местоположение пользователя с помощью его виртуального адреса (IP). IP Geolocation — это метод определения приблизительного физического местоположения подключенного к Интернету устройства через адрес, а IP Geolocation API — это доступность этого метода в виде API.

Варианты использования IP Geolocation (краткий обзор):

Если Вы маркетолог, то можете использовать информацию из этого API и направить свои маркетинговые усилия в правильном и корректном направлении, дабы получить достойный результат при взаимодействии.

Интернет-продавцы могут использовать IP-геолокацию для отслеживания любого потенциального мошенничества с кредитными картами. Это делается путем сопоставления IP-адреса покупателя с адресом доставки/выставления счета, который он ввел.

Например, если введенный адрес доставки находится в Индии, но IP-адрес указывает нам местонахождение посетителя в Австралии, он может быть помечен как мошенничество.

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

Геозоны — это «ограждение» вокруг контента, который разрешен для показа в определенных регионах. Возможно, Вы сталкивались с сайтами, на которых написано: «Этот контент заблокирован для просмотра в Вашей стране».

Да, это неприятно и создает трудности при доступе к определенным сервисам.

Например, ВКонтакте заблокирован в Украине, последние видео Джимми Киммела заблокированы в Юго-Восточной Азии, а Pokemon Go изначально разрешено воспроизводить в США (но оно было выпущено более чем в 60 странах).

Многие крупные продавцы электронной коммерции успешно используют эту технологию и получают действительно потрясающие результаты.

Мы составили список некоторых вещей, чтобы показать, как они отлично справляются с маркетингом с помощью IP-геолокации.

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

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

Такое количество предоставляемой информации для адреса в сети поможет усовершенствовать аналитические, статистические и мониторинговые данные о клиенте, дабы улучшить таргетинг своего продукта или бизнеса.

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

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

Искренне желаем пользоваться действительно прекрасным и полезным с умом, получая прибыль и удовольствие от своей деятельности!

что это? Геолокация по номеру телефона. Программа геолокации: как включить

Геолокация — что это такое? Подобное название носит специальный сервис, который покажется крайне удобным современным людям. Но не все знают, как им пользоваться. Ниже будет рассказано об особенностях этого приложения. В действительности все намного проще, чем кажется. И при правильной подготовке граждане смогут весьма быстро справиться с поставленной задачей.

геолокация что это

Описание сервиса

Так что это такое — геолокация? Так называется программа/сервис для отслеживания местоположения людей на карте при помощи мобильных устройств. Работает услуга по типу smart-часов.

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

Способы использования

Итак, геолокацией (что это, мы уже выяснили) называют программу для показа местоположения человека на карте в режиме реального времени. Можно сказать, это своеобразный шпион.

В реальной жизни существует несколько способов использования геолокации. А именно:

  • работа со сторонними сервисами;
  • использование услуг операторов сотовой связи;
  • применение сервиса «Геолокация» на iPhone;
  • слежка средствами «Андроид».

Также кто-нибудь может скачать и установить себе стороннее приложение для определения местоположения другого человека. Далее мы рассмотрим все эти приемы.

геолокация iphone

Операторы связи

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

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

Алгоритм действий будет приблизительно таким:

  1. Подключение опции оператора на телефоне, который будет отслеживаться.
  2. Включение услуги у себя на смартфоне.
  3. Отправка USSD или SMS запроса в нужный момент. Можно просто на сайте геолокации вписать телефон абонента, которого хочется найти.
  4. Ознакомление с выданной информацией.

Если запрос был отправлен с телефона, пользователю придет сообщение с изображением карты, на которой будет отображен тот или иной абонент. Все предельно просто и понятно.

Минусов у такой геолокации несколько:

  • необходимость установки опции на отслеживаемый телефон;
  • ограниченность по подключаемым и отслеживаемым номерам;
  • высокие цены на услугу (при частом использовании).

Поэтому многие стараются искать другие приемы. И это вполне выполнимая задача. Главное — это правильно подойти к ее решению.

Подключение у операторов (номера)

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

  1. «Билайн» — отправить пустое сообщение на номер 5166, а затем установить программу «Локатор» для Android.
  2. «Мегафон» — набрать USSD-запрос *140№#. Для отслеживания абонента используется сайт «Навигатор от Мегафон» или команда *140*номер_абонента#.
  3. «МТС» — активация происходит после подачи запроса типа *111*788#. Для добавления абонента в список геолокации необходимо написать SMS формата «Доб имя номер» и отправить его на номер 6677. Отслеживать положение лучше через сайт «МТС» («Локатор»).
  4. «Теле2» — подключение происходит посредством набора комбинации *119*01#, добавление нового контакта — *119*1*номер#, получение информации о положении человека — *119*2*номер#.

На самом деле все не так уж и трудно. Но придется понимать, что изучаемый сервис работает с некоторыми погрешностями. Он отображает положение телефона с разницей до 1 километра (в центре города — до 200 метров).

геолокация андроид

Сторонний софт

Геолокация на «андроиде» чаще всего активируется через сторонние программы и приложения. Основная их масса платная.

Алгоритм действий в данном случае будет таким:

  1. Установить на отслеживаемый телефон шпионское ПО. Подойдет что-нибудь типа «Слежка за телефоном», Hellospy, Talklog.
  2. Настроить параметры передачи информации.
  3. С компьютера или телефона отправить запрос на заранее установленный софт.
  4. Получить информацию о положении устройства.

Быстро, просто и удобно. Обнаружить шпионские программы могут только последние версии антивирусов. Но работающую геолокацию найти проблематично.

iPhone и слежка

Но это еще не все. В iPhone геолокация встроена. Это сервис, который желательно активировать после первого включения телефона.

Чтобы справиться с поставленной задачей, необходимо:

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

После этого воспользоваться геолокацией можно посредством облачного сервиса iCloud. Делается это так:

  1. Зайти на сайт icloud.com.
  2. Войти в систему при помощи AppleID.
  3. Нажать на кнопку «Геолокация».
  4. Выбрать в верхней части экрана свое устройство.
  5. Кликнуть по строчке «Найти iPhone».

Дело сделано. Теперь можно ознакомиться с выданной информацией. Так люди могут отслеживать свои «яблочные» девайсы.

Отключение

Как отключить геолокацию? Ответ зависит от способа подключения опции. В случае с операторами связи придется обращаться в соответствующие организации или использовать USSD-запросы. Если речь идет о шпионском ПО, необходимо просто удалить его.

геолокация как включить

На «яблочных» девайсах нужно проделать следующее:

  1. Зайти в настройки гаджета.
  2. Отыскать «Конфиденциальность»-«Службы геолокации».
  3. Выставить переключатель в положение «Выключить».

Теперь ответ на вопрос: «Геолокация — что это такое?» не доставит хлопот. Ведь вы уже знакомы с этим приложением.

Что такое геолокация на телефоне и как она работает

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

Что такое геолокация в телефоне и как ее подключить?

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

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

Геолокации в смартфоне

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

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

Также существует настройка геолокации через операторов:

  • МТС. Абоненты этого сотового оператора могут подключить функцию определения координат, отправив текстовое сообщение с указанием данных абонента на короткий номер 6677. Если абонент даст согласие на определение места его положения, то на тот номер, с которого был осуществлен запрос, придут его точные координаты.
  • Билайн. Чтобы найти абонента через этого оператора связи, можно либо позвонить на короткий номер 09853, либо отправить пустое сообщение на номер 5166.
  • Мегафон. В Мегафоне поиск абонента осуществляется через запрос − *566#. Услуга называется «Навигатор». После того как запрос будет отправлен, на телефон приходит сообщение, содержащее подробную инструкцию того, как найти абонента.
  • Теле2. Услуга «Геопоиск» подключается, набрав номер − *119*01#. Для того чтобы определить, где находится абонент, нужно будет набрать *119*2*7(номер абонента).

Обратите внимание, что поиск через мобильного оператора может быть осуществлен только с согласия абонента. То есть, если человек по каким-то причинам не может подтвердить согласие на определение своих координат, оператор связи не имеет права предоставлять эту информацию. Исключение составляет запрос силовых структур по решению суда. Кроме этого, поиск позиции абонента через оператора – это дополнительная услуга, которая платная. Ее стоимость зависит от мобильного оператора и региона проживания абонента.

Геолокации в Айфоне

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

Для этого нужно авторизоваться в iCloud и в личном аккаунте ввести ID пользователя и пароль телефона, затем на карте отобразится местонахождение гаджета. В программе есть функция, настраивающая телефон на передачу текущих данных в компанию-производителя непосредственно перед окончательной разрядкой аккумулятора и отключением смартфона. Программа поиска имеет еще одну полезную опцию – «Воспроизвести звук». Если она будет работать, то во время поиска девайс будет издавать звуковой сигнал, который поможет намного быстрее определить, где находится гаджет. Функция особенно полезна, если девайс был украден.

Пользователь гаджета может активировать «режим пропажи». Эта опция заблокирует смартфон, но на его экране отобразится номер владельца, по которому нашедший сможет с ним связаться.

Ну и полезная опция, о которой нельзя не упомянуть. Через программу можно активировать функцию «Стереть Айфон». Она поможет удалить со смартфона личные данные владельца, чтобы они не попали в руки мошенников. Если позднее гаджет будет найден, то все данные можно легко восстановить через опцию резервного копирования.

Геолокации в социальных сетях

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

Как работает геолокация в смартфоне

На современном телефонном аппарате опция определения координат может работать несколькими способами. Рассматривая данную функцию в контексте мобильных сотовых сетей, учитывайте, что работа по поиску объекта осуществляется не через спутники, а через наземные вышки оператора. Точность определения положения при этом зависит от стандарта мобильной сети (GSM, UMTS, WCDMA, LTE) и может колебаться в диапазоне от нескольких десятков метров до километров.

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

Однако телефон может иметь встроенный модуль для определения координат посредством GPS или GLONASS. Данные системы работают через спутники и считаются более точными при определении географического положения объекта. Если для определения используется GPS, то точность составляет от 10 до 15 м. А вот при использовании GLONASS точностные характеристики будут выше и могут достигать 3-4 м.

Работают данные системы следующим образом:

  • Спутники беспрерывно направляют на наземные станции сигналы о своем нахождении.
  • Приемник, в рассматриваемом случае − телефон, на котором включен GPS или GLONASS, улавливает эти закодированные сигналы. Он фиксирует время их получения, рассчитывает расстояние до спутников, пославших сигналы, и определяет свое положение, используя долготу, ширину и высоту над уровнем моря.
  • После чего отображает точные координаты на интерактивной карте на экране смартфона.

Чтобы точно определить географическое положение, гаджет должен уловить сигналы минимум с 4 работающих спутников.

Недостаток работы GPS – быстрая разрядка аккумулятора смартфона.

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

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

Эта функция может использоваться для решения следующих задач:

  • В качестве навигатора. Если пользователь планирует отправиться в путешествие, то, используя геолокацию и приложения, можно заранее выстроить нужный маршрут. Потом отслеживать по карте свои перемещения, чтобы не сбиться и не уйти с намеченной траектории движения. На карте может отображаться путь и загруженность дороги (участки, на которых образовались пробки и заторы, подсвечиваются красным). Там же выдаётся информация о скорости движения, расстоянии из пункта А в пункт В и оставшемся расстоянии. Также рассчитывается примерное время пути.
  • Для отметки памятных мест. Координаты можно «привязывать» к фотографиям, сделанным на телефон.
  • В поисковых запросах. В зависимости от координат пользователя при работающем GPS, поисковые системы будут выдавать ответы с территориальной привязкой. Это экономит время пользователя. Например, задав в интернете запрос «где купить цветы», система автоматически выдаст в первую очередь адреса близлежащих магазинов. Также абонент сможет найти любые адреса магазинов, кафе, кинотеатров.
  • Для бизнеса. Геоданные помогают анализировать клиентский спрос на товары, в зависимости от региона. Также регулируются цены, размещаются рекламные баннеры именно там, где на конкретные товары/услуги очень высокий или, наоборот, слишком низкий спрос.

Благодаря геоданным, можно найти человека, адреса, маршруты, потерянный или украденный телефонный аппарат, даже если на нем уже сменили SIM-карту. Главное, чтобы работал интернет, и была подключена опция определения геолокации.

Что такое геолокация на телефоне и как она работает

Рейтинг 4/5 (4 голосов)


Методы определения местоположения пользователя / Хабр
Предисловие

Всем, кто когда-либо занимался написанием систем авторизации/регистрации пользователей, наверняка приходилось задаваться вопросом: «А как узнать о пользователе больше информации?». Для чего это нужно? В большинстве случаев, для идентификации именно этого пользователя. Иногда — для предоставления каких-либо дополнительных возможностей и информации, в зависимости от различных социальных параметров, или, быть может, местополжения пользователя или региона проживания. Иногда, например, для проведения какого-либо скоринга. В этой статье речь пойдёт об определении географического положения пользователя.

Эффективные методы определения

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

1. Данные из соц. сетей

На сегодняшний день крайне популярным стало использовать для авторизации (или в качестве дополнительной информации) аккаунты всевозможных социальных сетей и блогов, что позволяет использовать данные из них. Авторизовав пользователя таким образом, можно получить достаточно много информации о нём. Правда вот о достоверности её говорить не приходится, ведь многие указывают в соц. сетях не «действительное», а «желаемое», либо вообще первое, что пришло в голову. Отсеять подобные вещи обычно и есть основная задача для разработчика. Для этого необходимо получить информацию обо всех друзьях пользователя и сверить общие данные. Можно, например, найти наиболее часто встречаемое место проживания у коллег/однокурсников/одноклассников/друзей пользователя (в синей соц. сети, например, это делать очень удобно), и, на основе этих данных, выяснить настоящий регион, область, город и даже район города, где живёт/работает/учится пользователь.
Также, в некоторых соц. сетях, доступно получение непосредственных координат пользователя, если он онлайн. Точность этих данных, в некоторых случаях, оставляет желать лучшего, но, как минимум, район города, где находится пользователь, определить можно достаточно достоверно.

Плюсы:

  • Относительно высокая точность, при использовании моделей скоринга на основе данных друзей
  • У большинства пользователей есть аккаунты в соц. сетях
  • Можно проверить полученные данные на достоверность, используя данные друзей

Минусы:

  • Сложность реализации, т.к. необходимо изучать API нескольких соц. сетей, составлять и реализовывать модели для анализа полученных данных
  • Необходимость в наличии действующего аккаунта в соц. сети у пользователя (я считаю, что, несмотря на распространённость, требовать подобные данные от пользователя, всё же, нельзя)
  • Низкая скорость работы, если учитывать анализ с использованием данных друзей

Реализацию, к сожалению, предоставить не могу ибо «секрет фирмы».

2. Данные GeoIP

Наверное, самый простой и доступный каждому способ, однако, для РФ на сегодня, зачастую неточный.
Почему?Дело в том, что на данный момент большинство существоваших ранее провайдеров регионального уровня было раскуплено и поглощено операторами федерального уровня. И чем же это плохо? А вот чем. Представьте себе ситуацию — в городе «Н» существовало 5 мелких провайдеров. Каждый работал в своём районе города, и соответственно, имел свой пул IPv4 адресов. И даже динамически выданный «белый» IP можно было примерно привязать к определённому району города. Теперь приходит провайдер федерального уровня и покупает все 5 мелких провайдеров с их пулами адресов. Затем он приводит их сеть к некоему общему виду всех сетей этого федерального провайдера. Что мы имеем в итоге? У этого федерального провайдера есть огромное количество клиентов и огромное количество пулов IP, используемых, в зависимости от потребностей, в том или ином регионе. Тоесть теперь адрес, принадлежавший ранее пулу мелкого местного провайдера, может быть выдан клиенту из совершенно другого города, просто потому, что этот пул адресов теперь используется для всех клиентов этого провайдера. А вот сообщать кому и из какой области выдан этот IP никто, естественно, не будет. Тем более, что завтра он может быть выдан ещё кому-то.

Также, никто не помешает пользователю использовать, например, прокси или VPN для выхода в интернет от имени другого IP. В этом случае GeoIP становится абсолютно бесполезным, ибо получит информацию именно об этом прокси или VPN-сервере. То же самое происходит, если провайдер предоставляет своим клиентам доступ в интернет через NAT (а в свете проблем с количством свободных IPv4 адресов это встречается всё чаще и чаще), правда в этом случае, обычно, хотябы можно получить район, область или город.

Такчто полагаться полностью на данные GeoIP всё-таки можно не всегда, хотя этот способ очень удобен — ведь мы получаем информацию практически мгновенно. Для этого, обычно, используется заранее скачанная локальная база данных.

Плюсы:

  • Легко использовать, есть множество реализаций на различных языках
  • Высокая точность (за некоторым исключением, см. выше)
  • Быстрота работы (практически мгновенное получение результата — ведь это всего 1 запрос к базе)

Минусы:

  • Необходимость поддерживать базу IP в актуальном состоянии
  • Отсутствие возможности проверить достоверность полученных данных (только запросами к нескольким базам)
  • Достаточно большой процент ошибочных данных для РФ на данный момент (см. выше)

Описывать «как это сделать» смыла особого не вижу, ибо в сети, и, в т.ч. на хабре, полно подробных описаний. Для получения данных GeoIP существует множество бесплатных библиотек и инструментов. Например, для PHP можно использовать расширение geoip.

3. Использование JavaScript Geolocation API

Достаточно полезный и эффективный метод, но только для мобильных устройств. В случае же со стационарным компьютером — полезен не более чем GeoIP. Дело в том, что в случае мобильного устройства (современный смартфон, планшет и т.д.) будут использоваться все доступные для этого устройства и разрешённые пользователем средства определения местоположения, включая позиционирование по GPS, Wi-Fi и данным от вышек сотовой связи. А вот в случае с домашним ПК, у которого, в большинстве случаев, нет ни мобильной сети (в случае наличия GSM/3G модема данные от него не используются), ни GPS, мы сможем узнать только данные GeoIP, которые нам радостно и сообщит JS. А по поводу их точности я уже писал выше. Хотя, пренебрегать данным способом я бы не стал — ведь всё большее количество людей используют планшеты и телефоны для выхода в интернет.

В итоге данный способ имеет достаточно узкий спектр применения — мобильные устройства. Или если достаточно примерных данных по GeoIP.

Плюсы:

  • Легко реализовать, множество документации и примеров в интернете
  • Точный, т.к. может использоваться как позиционирование по сотовым вышкам, Wi-Fi, GPS
  • Быстрый, т.к. для определения положения используется ПО со стороны клиента

Минусы:

  • На домашних ПК поддерживается не во всех браузерах
  • Требует разрешений пользователя
  • Фактически, применим только к мобильным устройствам
  • Относительно легко подделать данные

Примеры реализации можно посмотреть здесь или здесь.

4. Определение через услуги типа «локатор» от мобильных операторов

Я думаю, некоторые из читающих слышали про эти услуги, кто-то даже пользуется ими, а кому-то приходится их использовать в корпоративной среде. Я говорю об услугах, подобных «Локатор»’у от «яичной» компании и «Координатам» от жёлто-полосатой. Да, эти услуги изначально предназначены для конечных пользователей, но… Что мешает использовать их нам? Положительных моментов при использовании этого способа немного, зато каких — это высокая точность и почти 100% достоверность данных. Зато есть неприятные моменты. Во-первых — эти услуги платные. Во-вторых — необходимость использования номера мобильного телефона при регистрации и требование отправить бесплатную смс на короткий номер… Такое поведение может отпугнуть многих. Да и время получения информации по смс немалое (в рамках веб-приложения). Но, в некоторых случаях, информация подобного рода, да ещё и достоверная, просто необходима. Тем более что этот метод можно использовать как замену подтверждения кодом из смс какого-либо действия. Да и подделать информацию, получаемую таким способом, практически невозможно.

Пример рабочей реализации приводить не буду по тем же соображениям, что и в первом случае, но вкратце опишу как это делается чуть ниже.

Плюсы:

  • Высокая достоверность данных, почти 100%
  • Высокая точность, вне зависимости от испоьзуемого устройства и способа выхода в интернет
  • Автоматически подтверждает номер мобильного телефона

Минусы:

  • Сложность в реализации и поддержке
  • Низкая скорость, т.к. требуется время на отправку/приём смс и ответ от пользователя
  • Не бесплатен (тарифы у операторов на эту услугу весьма «прожорливые»)
  • Необходимо согласие пользователя
Как сделать

Нам понадобятся:

  1. Старый моб. телефон с кабелем, либо 3G/GSM модем, по одному на каждого оператора
  2. Сим карты этих операторов
  3. Некий ПК, желательно с *nix на борту (можно и Windows с cygwin), который будет выполнять функцию эдакого «гео-шлюза»
  4. Немного терпения и времени
  5. smstools3
1) В зависимости от ОС, инструкции могут отличаться, но общий смысл неизменен — необходимо скачать и установить из репозитория ПО пакет SMSTools

На Gentoo это выглядит так:


Если вам нужна статистика отправленных/полученных смс, то:

nogood-work ~ # echo "app-mobilephone/smstools stats" > /etc/portage/package.use/smstools.use

либо (если у вас все USE-флаги в одном файле):

nogood-work ~ # echo "app-mobilephone/smstools stats" >> /etc/portage/package.use

Затем ставим из портажа сам smstools:

nogood-work ~ # emerge -v smstools

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ~] app-mobilephone/smstools-3.1.15  USE="-stats" 0 kB

...

nogood-work ~ #


На FreeBSD так:


root@kenny:/usr/ports # cd /usr/ports/comms/smstools3
root@kenny:/usr/ports/comms/smstools3 # make install clean

Для статистики в опциях просто выбрать «STATS»


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


nogood-work ~ # wget http://smstools3.kekekasvi.com/packages/smstools3-3.1.15.tar.gz
nogood-work ~ # tar -zxvf smstools3-3.1.15.tar.gz -C /usr/local/src
nogood-work ~ # cd /usr/local/src/smstools3
nogood-work ~ # make
nogood-work ~ # make install


2) Подключаем модем(ы) и проверяем появились ли устройства последовательного порта в /dev

Для Gentoo:


nogood-work ~ # ls /dev |grep ttyUSB
ttyUSB0
ttyUSB1
ttyUSB2
nogood-work ~ #

Может появиться несколько портов. Обычно нас интересует ttyUSB0, если модем 1. Если больше — то подключаем по очереди. И вот перый из появившихся портов наш.


Для FreeBSD:


root@kenny:~ # ls /dev |grep cuau
cuau0
cuau0.init
cuau0.lock
cuau1
cuau1.init
cuau1.lock
root@kenny:~ #

Смысл тот же — первый из нескольких появившихся — наш.


3) Настраиваем SMSTools

smsd.conf может находится как в /etc/ так и в /usr/local/etc/ в зависимости от вашего дистрибутива. Приводим его к подобному виду:

#Список активных "модемов". Если вы планируете использовать
#несколько операторов, то, соответственно, перечисляем здесь
#модемы для каждого оператора, у меня только для одного
devices = GSM1
#Куда писать логи. Если закомментировать то по-умолчанию
#пишет в syslog. Но в этом случае не получится использовать
#такую классную вещь, как smart_logging.
logfile = /var/log/smsd/smsd.log
#Уровень ошибок.
loglevel = notice
#Хранить входящие в UTF-8. Работает не со всеми модемами, но лучше включить
incoming_utf8 = yes
#Записывать историю перекодировок в логах. На всякий случай включаем.
log_charconv = yes
#Наличие даты в имени файла. Вообще кому как удобно,
#но с этой опцией файлы легче находить по времени
date_filename = 1
#Приоритет получения смс перед отправкой
receive_before_send = yes
#Очень полезная, на мой взгляд, функция. Суть в том, что в лог
#по-умолчанию пишутся сообщения с уровнем, указанным выше.
#А вот в случае ошибки создаётся файлик с изменённым именем
#из logfile вида <name>_trouble.log в который пишется всё с уровнем debug
smart_logging = yes
#Ну и настройка каталогов спулера
failed = /var/spool/sms/failed
sent = /var/spool/sms/sent
phonecalls = /var/spool/sms/calls
stats = /var/spool/sms/stats

#А вот настройка для модема. Лучше искать под конкретную модель.
[GSM1]
#Имя COM-порта
device = /dev/ttyUSB0
#Использовать ли для приёма СМС
incoming = yes
#Способ проверки памяти СМС. Подробности лучше глянуть на оф. сайте.
check_memory_method = 2
#Обязательно закомментить, т.к. иначе не видать нам русского языка
#decode_unicode_text = yes
#Могут понадобится для вашего модема. Вот это лучше погуглить.
#init = AT+CSCS="UCS2"
#init2 = AT+CSCS="UCS2"
#Автоматически собирать смс из нескольких частей. Крайне рекомендую.
internal_combine = yes
#Сбрасывать входящие звонки. А зачем они нам?
hangup_incoming_call = yes
#Скрипт для обработки событий. Содержимое будет ниже.
eventhandler = /etc/smsd/trsms.sh
#Скрипт для обработки USSD команд. Я не использовал, но можно
#использовать для получения остатка на балансе.
#eventhandler_ussd =
#Номер. Если будете использовать несколько модемов указывать надо.
#По нему определяется через какой модем отправлять смс.
number = 79185568942
#Что делать со входящими звонками - определять номер. Необязательно.
phonecalls = clip
#Отчёт о доставке. Нам не нужен.
#report = yes
#Для моего модема нужно было включить, чтобы небыло ошибок в логе.
signal_quality_ber_ignore = yes
4) Создаём файлик trsms.sh (обработчик событий)
#!/bin/bash
status="$1"
file="$2"

case "$1" in
  RECEIVED)

    header=`head -12 $file | grep -e "^From: " -e "^Sent: " -e "^Received: "`
    from=`head -12 $file | grep -e "^From: " | awk '{print $2}'`

    if grep "Alphabet: UCS2" $file > /dev/null > /dev/null; then
        message=`tail -n +14 $file | iconv -f UCS-2BE -t UTF-8`
    else
        message=`tail -n +14 $file`
    fi
    #echo -e "$message" | mail -s "Incoming SMS from +$from" [email protected]
    echo -e "$header\n$message\n" >> /var/log/smsd/sms.log

    if echo $message | grep "Запрос на авторизацию отправлен абоненту" > /dev/null > /dev/null; then
        abon=`echo $message | awk 'BEGIN{ FS = "абоненту " } $2 { print substr($2, 2, 11) }'`
        echo -e "\n> Запрос\t$abon" >> /var/log/smsd/location.log
    fi

    if echo $message | grep " находится по адресу " > /dev/null > /dev/null; then
        abon=`echo $message | awk 'BEGIN{ FS = "Абонент " } $2 { print substr($2, 2, 11) }'`
        adres=`echo $message | awk 'BEGIN{ FS = "адресу " } $2 { print substr($2,0,index($2, " в радиусе")) }'`
        region=`echo $adres | awk 'BEGIN{ FS = ", " } $1 {print $1}'`
        echo -e "\n> Ответ\t$abon\t$adres\tРЕГИОН: $region" >> /var/log/smsd/location.log
    fi
    ;;
esac

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

Не забываем дать права на запуск пользователю, из под которого будет работать smsd.

5) Запускаем демон smsd и добавляем его в автозагрузку

Для Gentoo:


nogood-work ~ # /etc/init.d/smsd start
nogood-work ~ # rc-update add smsd default


Для FreeBSD:


root@kenny:~ # echo "smsd_enable=\"YES\"" >> rc.conf
root@kenny:~ # service smsd start


Смотрим логи. Если всё хорошо и нет сообщений об ошибках, то переходим к следующему шагу.

6) Пробуем отправить смс на свой телефон
nogood-work ~ # sendsms 79xxxxxxxxx 'текст'

Если смс прошло успешно — можно пробовать отправить смс на заветный номер услуги с соответствующим текстом, а затем проверить логи.

Далее можно будет просто вызывать из вашего скрипта команду sendsms <номер> "<текст>" и проверять, например, по крону наличие ответа по нужному номеру в файле с логами смс.

Заключение

Каждый из этих способов подходит для каких-то определённых целей и условий, и вам решать, что именно использовать. Конечно, здесь рассмотрены далеко не все способы определения местоположения. Я описал только те, что опробовал сам и считаю наиболее эффективными. Также, для достижения большей эффективности, я бы рекомендовал комбинировать их. Так это делается в нашем проекте. На этом всё. Надеюсь кому-нибудь данная информация окажется полезной.

как устроен Яндекс.Локатор / Блог компании Яндекс / Хабр

Сейчас всё больше мобильных приложений становятся геозависимыми. Одни просто не имеют смысла без знаний о местоположении пользователя, другие становятся с ним удобнее. Это так называемые 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)

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

Правда, и разработчик может выбирать не всегда. На iOS и WindowsMobile приложение может пользоваться только встроенными в операционную систему функциями геоопределения. Приложению там недоступны текущая базовая станция и/или список WiFi-сетей, кроме текущей.

Другая ситуация в веб-сервисах. Во всех современных браузерах встроен API геоопределения. И меняя браузер, пользователь меняет геоопределитель. В Firefox и Google Chrome используется реализация Google, в Safari — Apple, в IE — Microsoft. Наш Локатор работает в браузере Yandex.

Как использовать геолокацию и геокодирование в собственных приложениях React

В этом посте мы узнаем, как реализовать геолокацию в приложении React Native

Geolocation найдет ваше текущее местоположение, а геокодирование даст ваш адрес (например, название города, название улицы и т. Д.) По координатам (широта и долгота).

Что такое геолокация?

Наиболее известная и известная функция определения местоположения — Geolocation — это возможность отслеживать устройство с помощью GPS, вышек сотовой связи, точек доступа WiFi и т. Д.Геолокация использует системы определения местоположения, чтобы отслеживать местонахождение человека вплоть до широты и долготы, или, практически, физического адреса. Как мобильные, так и настольные устройства могут использовать Geolocation.

Что такое геокодирование и обратное геокодирование?

Геокодирование — это метод ремоделирования адреса или альтернативного описания местоположения в координаты (широта, долгота).

Обратное геокодирование — это метод ремоделирования координаты (широта, долгота) в (частичный) адрес.Количество деталей в очень обратном геокодированном описании местоположения может отличаться. Например, один из них может содержать полный адрес ближайшего здания, тогда как другой может содержать только название города и почтовый индекс.

Вам также может понравиться: Геолокация с титаном — Часть 1.

Почтовая структура

Мы пойдем шаг за шагом, чтобы изучить геолокации.

шагов

  • Создайте простое приложение React Native.
  • Установите плагины для геокодирования и геолокации и получите местоположение пользователя.
  • Получить текущее местоположение пользователя (геокодирование).
  • Преобразование геолокации пользователя в адрес (обратное геокодирование).

Три основных цели

  • Получить местоположение пользователя по широте и долготе (геолокация).
  • Преобразуйте эту широту и долготу в адрес улицы (обратное геокодирование).
  • Установите плагины для геокодирования и геолокации и получите местоположение пользователя.

Шаг 1. Создание простого приложения React Native

Если вы знаете о собственной разработке, вы будете знакомы с пользовательским интерфейсом React Native.
Для начала требуется Xcode или Android Studio. Если у вас уже установлен один из этих инструментов, вы сможете приступить к работе за считанные минуты.

Если они не установлены, вы должны потратить около часа на их установку и настройку.

Быстрый запуск React Native CLI
Предполагая, что у вас установлен Node 10+ , вы сможете использовать npm для установки утилиты командной строки React Native cli:

npm установить -g реагировать-нативный-Cli

Затем выполните следующие команды, чтобы создать новый проект React Native, известный как AwesomeProject :

Реактивная нативная инициация AwesomeProject

Для получения подробной информации, вы можете проверить эту ссылку.

Шаг 2: Реагировать на службу геолокации собственного происхождения

Эта библиотека создана с целью устранения проблемы тайм-аута местоположения на Android с помощью реализации React Native API Geolocation. Эта библиотека пытается решить эту проблему с помощью нового API FusedLocationProviderClient Сервиса Google Play, который Google настоятельно рекомендует использовать по умолчанию в API-интерфейсе определения местоположения платформы Android. Какой провайдер использовать, зависит от конфигурации вашего запроса; он автоматически решит и предложит вам изменить режим местоположения, если он не удовлетворяет вашей текущей конфигурации запроса.

Примечание : Запросы на определение местоположения все еще могут быть приостановлены, так как многие устройства Android имеют проблемы с GPS на уровне аппаратного обеспечения или на уровне системного программного обеспечения.

Установка:

Настройка

Никаких дополнительных настроек для Android не требуется. Для iOS выполните следующие действия:

Чтобы включить геолокацию в фоновом режиме, вы включите ключ NSLocationAlwaysUsageDescription в Info.plist и добавите местоположение в качестве фонового режима на вкладке Возможности в Xcode.

Обновите свой подфайл

Затем запустите pod install из каталога iOS.

Коды ошибок

ИМЯ КОД ОПИСАНИЕ
PERMISSION_DENIED 1 Разрешение на местоположение не предоставляется
POSITION_UNAVAILABLE 2 Местоположение провайдера не доступно
ВРЕМЯ 3 Тайм-аут запроса местоположения
PLAY_SERVICE_NOT_AVAILABLE 4 Сервис Google Play не установлен или имеет более старую версию (только для Android)
SETTINGS_NOT_SATISFIED 5 Служба определения местоположения не включена или режим определения местоположения не соответствует
для текущего запроса (только для Android)
INTERNAL_ERROR -1 По какой-то причине произошел сбой библиотеки, или getCurrentActivity () вернул ноль (только для Android)


Шаг 3: Получить местоположение пользователя (геокодирование)

Поскольку эта библиотека должна была стать заменой API Geolocation в RN, ее использование довольно простое, с некоторыми дополнительными случаями ошибок.

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

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

импортировать геолокацию из «реакт-нативная-геолокационная служба»;

Затем добавьте этот блок в свой код:

Итак, после добавления всего этого кода ваш файл будет выглядеть примерно так:

Шаг 4. Геолокация пользователя по адресу (обратное геокодирование)

Для геокодирования и обратного геокодирования мы использовали пакет реагировать-нативное геокодирование .

Этот модуль использует API геокодирования Карт Google и требует ключ API для управления квотами. Пожалуйста, проверьте эту ссылку , чтобы получить ключ API.

Установка

npm install –save response-native-geocoding

Вы можете просто импортировать Geocoder API из пакета response-native-geocoding в свое приложение.

импортировать геокодер из «act-native-geocoding »;

И тогда вы должны инициализировать модуль в вашем приложении

Рабочий пример геолокации и геокодирования в приложениях React-Native.

Заключение

В этом блоге мы узнали, как реализовать приложение Geolocation React Native. Мы также узнали, как конвертировать геокод по адресу Location в простом приложении React Native.

Дальнейшее чтение

,

Как использовать Geolocation API

Браузер предоставляет объект navigator.geolocation , с помощью которого мы будем выполнять все операции геолокации.

Он доступен только на страницах, обслуживаемых по протоколу HTTPS, в целях безопасности и доступен во всех современных браузерах.

Поскольку окно является глобальным объектом, мы можем получить доступ к навигатору без указания окна .navigator

Окно .Свойство navigator , открываемое браузерами, указывает на объект Navigator , который является контейнерным объектом , который предоставляет нам множество API веб-платформ.

Объект геолокации предоставляет следующие методы:

  • getCurrentPosition ()
  • watchPosition ()
  • clearWatch ()

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

Вот так выглядит этот интерфейс в Chrome:

в Firefox:

и в Safari:

Это нужно сделать только один раз для каждого источника. Вы можете изменить принятое решение и отменить решение о разрешении. Вот как вы делаете это с Chrome, нажав на значок замка рядом с доменом:

Как только это разрешение будет предоставлено, мы можем продолжить.

Получение позиции пользователя

Давайте начнем с этого примера кода:

 навигатор .geolocation.getCurrentPosition (() => {})
  

Должна появиться панель разрешений. Разрешить разрешение.

Обратите внимание, как я передал пустую функцию стрелки, потому что функция хочет функцию обратного вызова.

Эта функция передается объекту Position , который содержит фактическое местоположение:

  navigator.geolocation.getCurrentPosition (position => {
  console.log (положение)
})
  

У этого объекта 2 свойства:

  • координаты , объект координаты
  • отметка времени , отметка времени UNIX, когда была получена позиция

Объект Coordinates имеет несколько свойств, которые определяют местоположение:

  • Точность Точность измеренного положения, выраженная в метрах
  • высота над уровнем моря высота над уровнем моря измеряется
  • altitudeAccuracy точность измеренной высоты, выраженная в метрах
  • , курс — направление, в котором движется устройство.Выражается в градусах (0 = север, восток = 90, юг = 180, запад = 270)
  • широта значение широты, измеренное
  • долгота измеренное значение долготы
  • скорость скорость, с которой устройство движется, выраженное в метрах в секунду

В зависимости от реализации и устройства, некоторые из них будут null . Например, на Chrome, работающем на моем MacBook Air, я получил только значения , , , и , .

  navigator.geolocation.getCurrentPosition (position => {
  console.log (position.coords.latitude)
  console.log (position.coords.longitude)
})
  

Наблюдение за изменениями

В дополнение к получению пользовательской позиции один раз, что вы можете сделать с помощью getCurrentPosition () , вы можете использовать watchPosition () метод navigator.geolocation , чтобы зарегистрировать функцию обратного вызова, которая будет вызываться при каждом вызове. изменить, что устройство будет общаться с нами.

Использование:

  navigator.geolocation.watchPosition (position => {
console.log (положение)
})
  

Конечно, браузер будет запрашивать разрешение и этим методом, если оно еще не было предоставлено.

Мы можем остановить отслеживание позиции, вызвав метод navigator.geolocation.clearWatch () , передав ему идентификатор , возвращенный watchPosition () :

  const id = navigator.geolocation.watchPosition (position => {
console.log (положение)
})

// перестать смотреть через 10 секунд
setTimeout (() => {
  navigator.geolocation.clearWatch (ID)
}, 10 * 1000)
  

Если пользователь отказывает в разрешении

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

Если пользователь отрицает это, мы можем перехватить этот сценарий, добавив функцию обработки ошибок в качестве второго параметра в методы getCurrentPosition () и watchPosition () .

  navigator.geolocation.getCurrentPosition (position => {
  console.log (положение)
}, error => {
console.error (ошибка)
})
  

Объект, переданный второму параметру, содержит свойство кода , чтобы различать типы ошибок:

  • 1 означает отказано в разрешении
  • 2 означает, что позиция недоступна
  • 3 означает время ожидания

Добавление дополнительных опций

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

Вы можете добавить тайм-аут, добавив третий параметр в методы getCurrentPosition () и watchPosition () , объект.

  navigator.geolocation.getCurrentPosition (position => {
  console.log (положение)
}, error => {
console.error (ошибка)
}, {

})
  

Внутри этого объекта мы можем передать свойства

  • Тайм-аут для установки количества миллисекунд до ошибки запроса
  • MaximumAge , чтобы установить максимальный «возраст» позиции, кешируемой браузером.Мы не принимаем одно старше установленного количества миллисекунд
  • enableHighAccuracy логическое значение по умолчанию false , требуется позиция с максимально возможным уровнем точности (что может занять больше времени и больше мощности)

Пример использования:

  navigator.geolocation.getCurrentPosition (position => {
  console.log (положение)
}, error => {
console.error (ошибка)
}, {
  время ожидания: 1000,
  MaximumAge: 10000,
  enableHighAccuracy: true
})
  

,

Как использовать геолокацию, геокодирование и обратное геокодирование в Ionic 4

enappd logo

×

  • Домой

  • Enappd Store

  • Документация

  • Учебники

  • Вопросы и ответы