Подключение геолокации на телефон оператора связи. По следам мобильного телефона

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

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

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

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

Применяют геолокацию повсеместно:

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

    Геолокация на мобильном телефоне

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

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

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

    Настройка геолокации сотовых операторов

    МТС. Чтобы подключить геолокацию на телефон мтс необходимо отправить sms на номер 6677 с указанием данных абонента. После того, как человек даст свое согласие на отслеживание приходит сообщение с его координатами. Услуга будет автоматически продлеваться, до тех пор, пока ее не отключить. Точная стоимость зависит от региона, в котором была приобретена сим-карта.

    Возможности геолокационного сервиса от МТС

    Билайн. Подключить геолокацию на телефон билайн можно при помощи короткого номера 09853 или отправить пустое сообщение на 5166. Для того, чтобы отслеживать местоположение надо получить согласие хозяина устройства. В меню управления следует выбрать «найти абонента», далее ввести номер. Услуга платная.

    Поиск учреждений, структур и других точек

    Мегафон. У любого сотового оператора перед тем как получить информацию о координатах какого-либо человека, требуется получить его разрешение., мегафон – не исключение. Для того, чтобы подключить геолокацию на телефон с оператором мегафон, нужно набрать *566# или зайти в личный кабинет на сайт megafon.ru. Данная услуга называется «навигатор», подробная инструкция придет по смс. Тариф зависит от региона проживания, подробности желательно уточнить у оператора.

    Геолокация «Навигатор» от Мегафона

    Теле2. Услуга «геопоиск» используется для того, чтобы подключить геолокацию на телефон теле2. Для подключения нужно набрать *119*01# или же *119*1*7(номер абонента)#. Чтобы узнать точное местоположение человека наберите *119*2*7(номер абонента)#. Точность работы меняется в зависимости от города проживания. В крупном городе гораздо легче найти кого-то, поскольку в нем гораздо больше вышек сотовой связи.

    Возможные проблемы

    Точность определения местоположения бывает очень слабой – с погрешностью более 100 метров в большом городе и даже до 1 км на окраинах, где мобильных вышек очень мало. Вычислить координаты нахождения кого-либо получится только в том случае, если у него телефон включен. Отследить абонента допустимо только на территории Российской Федерации, за пределами страны такой функции нет.

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

  • перезагрузите устройство;
  • не лишним будет вынуть sim-карту и вставить ее обратно;
  • есть вероятность поломки антенны, тогда телефон плохо ловит сигнал сотовой сети.
  • Нарушение работы усилителя мощности, разрушение радио контактов или сбой программного обеспечения – по всем этим вопросам рекомендуется обратиться в сервисный центр. Не пытайтесь решить проблему самостоятельно, это приведет к необратимым последствиям для мобильного.

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

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

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

    Геолокация

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

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

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

    Принцип работы геолокации

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

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

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

    Чтобы вычислить местоположение посетителя, браузер заручается помощью поставщика услуг определения местоположения (location provider) , например, для Chrome это сервис Google Location Services. Определение местоположения является задачей не из легких, и поставщик применяет несколько разных подходов для ее решения.

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

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

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

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

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

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

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

    Конечно же, возможны и другие способы определения местоположения. Ничто не препятствует поставщику местоположения использовать для этого другие источники информации, такие как данные от RFID-устройств (Radio Frequency Identification - радиочастотная идентификация), данные от устройств Bluetooth, файлы cookies с информацией от картографического сайта наподобие Google Maps и т.п.

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

    В каких сферах применять геолокацию?

    Ответив на большой вопрос, как работает геолокация, нам нужно разобраться еще с одним: какая нам от нее польза?

    Здесь ключевым аспектом, который нужно понимать, является то, что функциональность геолокации позволяет определить приблизительные географические координаты посетителя страницы. И это все. Веб-разработчик должен объединить эту простую, но важную информацию с более подробными данными о местоположении посетителя. Эти данные можно получить от веб-сервера (обычно из огромной серверной базы данных) или какой-либо географической веб-службы (скажем, Google Maps).

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

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

    Хотя картографические и географические услуги, предоставляемые другими компаниями, довольно обширны, мы рассмотрим одну из них - Google Maps - чуть позже.

    Определение координат посетителя

    Возможность геолокации предельно проста. Она состоит из трех методов объекта navigator.geolocation : getCurrentPosition(), watchPosition() и clearWatch().

    Объект navigator - это сравнительно незначительная часть JavaScript. Его несколько свойств предоставляют информацию о текущем браузере и его возможностях. Наиболее полезным из них является свойство navigator.userAgent, которое предоставляет информационную строку, содержащую подробные данные о браузере, его версии, а также операционной системы, в которой он выполняется.

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

    Можно ожидать, что завершение определения местоположения сопровождается извещением, во многом подобном тому, как сообщается об окончании загрузки изображения или чтения текстового файла. Но язык JavaScript можно назвать каким угодно, но только не последовательным. И при вызове метода getCurrentPosition() ему передается функция завершения (completion function) .

    При исполнении этот код вызывает метод getCurrentPosition() и передает ему функцию. Когда браузер завершит процесс определения местоположения, он активирует эту функцию, которая выводит окно сообщения:

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

    Определение точности предоставленного местоположения

    При успешном выполнении метода getCurrentPosition() код получает объект position , который имеет два свойства: timestamp (содержит время выполнения геолокации) и coords (содержит географические координаты).

    Но свойство coords в свою очередь является подобъектом объекта position и кроме свойств latitude и longitude , определяющих географические координаты посетителя, имеет еще несколько других свойств, предоставляющих дополнительную информацию о местоположении. Это такие свойства, как altitude (высота над уровнем моря), heading (направление движения) и speed (скорость). Но на данный момент эти свойства не поддерживаются ни одним браузером.

    Более интересным является свойство accuracy , которое указывает точность определенного местоположения в метрах. (Это означает, что по мере понижения точности данных местоположения значение свойства accuracy возрастает, что может несколько сбивать с толку.) Например, значение свойства accuracy, равное 2135 метрам, означает, что местоположение пользователя было определено в пределах этого расстояния.

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

    If (position.coords.accuracy > 10000) { alert("Посетитель может быть где угодно на карте"); }

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

    Обработка ошибок

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

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

    // Сохраняем элемент в котором страница отображает результат var result; window.onload = function() { result = document.getElementById("result"); // Если функциональность геолокации доступна, // пытаемся определить координаты посетителя if (navigator.geolocation) { // Передаем две функции navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure); // Выводим результат result.innerHTML = "Поиск начался"; } else { // Выводим результат result.innerHTML = "Ваш браузер не поддерживает геолокацию"; } } function geolocationSuccess(position) { result.innerHTML = "Последний раз вас засекали здесь: " + position.coords.latitude + ", " + position.coords.longitude; } function geolocationFailure(positionError) { result.innerHTML = "Ошибка геолокации"; }

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

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

    Function geolocationFailure(positionError) { if(positionError == 1) { result.innerHTML = "Вы решили не предоставлять данные о своем местоположении, " + "но это не проблема. Мы больше не будем запрашивать их у вас."; } else if(positionError == 2) { result.innerHTML = "Проблемы с сетью или нельзя связаться со службой определения " + "местоположения по каким-либо другим причинам."; } else if(positionError == 3) { result.innerHTML = "He удалось определить местоположение " + "в течение установленного времени. "; } else { result.innerHTML = "Загадочная ошибка."; } }

    Установка параметров геолокации

    Итак, мы рассмотрели, как вызывать метод getCurrentPosition() с двумя параметрами: функцией для обработки успеха геолокации и функцией для обработки ошибки при попытке ее выполнения. Но этому методу можно передавать еще один параметр, коим является объект, устанавливающий определенные параметры геолокации.

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

    Navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure, {enableHighAccuracy: true});

    А в этом примере устанавливаются все три параметра:

    Navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure, {enableHighAccuracy: true, timeout: 10000, maximumAge: 60000});

    В обоих этих примерах параметры геолокации устанавливаются посредством литералов объектов JavaScript.

    Что же означают эти свойства? Свойство enableHighAccuracy задействует высокоточное определение местоположения, используя систему GPS (если устройство поддерживает эту возможность и посетитель разрешил ее использование). Не устанавливайте этот параметр, если только вам не требуется получить точные координаты, т.к. ее применение сильно повышает расход заряда аккумулятора устройства браузера. По умолчанию свойству enableHighAccuracy присваивается значение false.

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

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

    Свойство maximumAge позволяет кэширование данных о местоположении. Например, значение maximumAge, равное 60 000 мс, разрешает пользоваться данными геолокации, полученными минуту назад. Это позволяет сэкономить время и вычислительные ресурсы, а также означает, что результаты геолокации будут менее точными, если посетитель перемещается. По умолчанию свойству maximumAge присваивается 0, означающий, что кэшированные результаты геолокации никогда не используются. Свойству можно также присвоить специальное значение infinity, в этом случае будут использоваться кэшированные данные геолокации любой давности.

    Отображение карты

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

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

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

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

    На рисунке ниже показана модифицированная версия страницы геолокации. Здесь полученные географические координаты пользователя служат для отображения его местоположения на карте:

    Создание такой страницы не представляет никаких сложностей. Первым делом нам нужна ссылка на сценарии интерфейса API Google Maps. Эта ссылка размещается перед всеми блоками сценариев, которые используют функциональность картографии:

    Геолокация ...

    Где вы живете?

    Размер карты можно определить с помощью правила таблицы стилей:

    #mapSurface { width: 600px; height: 400px; border: solid 1px black; }

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

    Var results; var map; window.onload = function() { result = document.getElementById("result"); // Устанавливаем некоторые параметры карты. В данном примере // устанавливаются начальный уровень масштабирования и тип карты. // Информацию о других параметрах см. в документации по Google Maps. var myOptions = { zoom: 13, mapTypeId: google.maps.MapTypeId.ROADMAP }; // Создаем карту, используя установленные выше параметры map = new google.maps.Map(document.getElementById("mapSurface"), myOptions); // Пытаемся определить местоположение пользователя if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationFailure); result.innerHTML = "Поиск завершен"; } else { result.innerHTML = "Ваш браузер не поддерживает геолокацию"; goToDefaultLocation(); } }

    Но созданная этим кодом карта еще не отображается на странице, т.к. еще не установлена географическая позиция. Для этого нужно создать специфическую глобальную точку, используя объект LatLng , которая потом помещается на карту посредством метода setCenter() карты. Далее приведен код, который выполняет все эти действия для координат посетителя:

    Function geolocationSuccess(position) { // Преобразуем местоположение в объект LatLng var location = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); // Отображаем эту точку на карте map.setCenter(location); }

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

    Function geolocationSuccess(position) { ... // Создаем всплывающее информационное окно и устанавливаем // его текст и положение на карте. var infowindow = new google.maps.InfoWindow(); infowindow.setContent("Вы находитесь где-то в этом районе."); infowindow.setPosition(location); // Отображаем всплывающее окно infowindow.open(map); results.innerHTML = "Местоположение отмечено на карте."; }

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

    Function geolocationFailure(positionError) { ... goToDefaultLocation(); } function goToDefaultLocation() { // Примерные координаты центра Москвы var moscow = new google.maps.LatLng(55.753878,37.649275); map.setCenter(moscow); }

    Отслеживание перемещений посетителя

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

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

    Navigator.geolocation.watchPosition(geolocationSuccess, geolocationFailure);

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

    Но в отличие от метода getCurrentPosition() метод watchPosition() возвращает число. Это число можно сохранить и передать методу clearWatch(), чтобы прекратить отслеживать перемещения:

    Var watch = navigator.geolocation.watchPosition(geolocationSuccess, geolocationFailure); ... navigator.geolocation.clearWatch(watch);

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

    В прошлый раз, когда мы рассказывали о приложении МегаФон Навигация и принципах его работы, мы упомянули еще несколько услуг, главной составляющей которых является определение координат и их интерпретация (Location-based services) .

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

    Теория Включив ваш мобильный телефон или любое другое устройство, работающее в GSM-сети (Mobile station) , вы запускаете огромный технологический процесс.

    Первое, что делает ваше мобильное устройство (MS) , это осуществляет поиск ближайших базовых станций (Base station, BS) . Если быть точнее, то прослушивает эфир в поисках доступных сот. Телефон может прослушивать до 16 широковещательных каналов. Из их числа определяет 6, наиболее удовлетворяющих с точки зрения затрат энергии и качества сигнала. Но в один момент времени работать будет только с одной. У каждой из сот есть свой уникальный номер (CellID) .

    При этом все базовые станции (BS) объединены в группы. Как правило, принадлежность к группе определяется их местоположением (Location area) , и чтобы базовые станции можно было идентифицировать, каждой группе присваивается уникальный номер - Location area code (LAC) .

    Вместе параметры LAC и CellID работают как уникальные идентификаторы базовой станции, на которой зарегистрировано и работает мобильное устройство. Именно используя эти параметры, Центр коммутации выбирает верное направление для отправки вызова в вашу сторону, иначе приходилось бы искать вас среди тысяч базовых станций.
    Кроме того, определяется сектор базовой станции (Cell Sector) и фиксируется время, за которое сигнал от мобильного устройства достигает базовой станции – это параметр Timing Advance . Благодаря этому известна не только принадлежность к базовой станции, но и удаленность от нее.

    Определение положения абонента в сотовой сети.

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

    Как направить звонок нужному абоненту?

    Взаимодействие систем для определения позиции мобильного устройства.
    Номер телефона, который хранится в огромной базе номеров сотового оператора. Домашний регистр местоположения (Home location registry, HLR) содержит информацию обо всех абонентах, приписанных к нему. Найдя абонента в одной из HLR , мы перенаправляем вызов на связанный с ним Центр коммутации (Mobile switching centre, MSC) , тот в свою очередь запрашивает информацию у Гостевого регистра местоположения (VLR) , который содержит данные о последнем зарегистрированном CallID , LAC абонента. После чего контроллер базовых станций (Base station controller, BSC) связывается с базовыми станциями в рамках переданного LAC , и звонок направляется на нужную соту (CellID) .

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

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

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

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


    Пример использования услуги «Контроль кадров»

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

    • С заданной частой проверяют данные с базовых станций, чтобы увидеть, не зашел ли абонент в зону, которая выделена для мониторинга;
    • Уточняют данные геопозиции по запросу. Таким образом можно получить последнее местоположение абонента;
    • Строят маршрут передвижения абонентов на основе исторических данных;
    • Прогнозируют скопления и пути миграции абонентов на основе сохраненной истории.
    На базе этой площадки, работает масса сервисов, например, Экстренные службы. При звонке по номеру 112, помимо общения с оператором и озвучивания ему возникшей сложности, также передается и географическая позиция звонящего. В этом случае оперативные службы могут действовать более точно и найти нуждающегося в помощи даже если связь потом была потеряна.

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


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

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

    Общие сведения о геолокации

    Из двух слов образован термин «геолокация»: греческого «гео» (поверхность земли) и английского «location» (позиция, расположение).

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

    Сегодня применение геолокации очень широко. С ее помощью люди могут:

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

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

    Технология определения местоположения по IP-адресу

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

    Версий протокола две: IPv 4 с номером, состоящим из 4 групп цифр, и IPv 6, которая имеет 8 групп цифр и буквы. Все IP-адреса уникальны и не повторяются. Узнать геопозицию человека по интернет-протоколу можно с помощью сторонних приложений или сервисов в интернете. Главный недостаток определения нахождения по IP – в том, что детализация ограничивается страной или городом, а найти конкретную улицу и дом не получится.

    Геолокация по GPS

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

    Главным плюсом определения местонахождения по GPS является высокая точность результата. Установленная геолокация на Андроид имеет некоторые минусы:

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

    Геопозиция по Wi-Fi

    Данный способ возможен лишь в условиях города, где доступен Wi-Fi. Геопозиция по вай-фай использует для передачи информации радиоканалы. Wi-Fi предполагает наличие точки доступа (маршрутизатора), обеспечивающей стабильный интернет радиусом до 45 метров в помещении и около 90 метров – на открытом пространстве.

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

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

    • высокая точность и скорость;
    • экономичность;
    • доступность во всех помещениях.
    Видео

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

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

    Слово «геолокация» образовано из двух слов – греческого «гео», означающего поверхность земли, и английского «location» — расположение, позиция. Этим словом обозначают процесс определения местонахождения объекта по исходящему от него радиосигналу.

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

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

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


    — ориентироваться в незнакомом городе, быстро находить в нем организации и учреждения, магазины, кафе и рестораны, парки, остановки общественного транспорта и т.д.;

    — отслеживать местонахождение своего автомобиля – это чрезвычайно полезно в случае его угона;

    — находить потерянные или украденные электронные гаджеты – телефоны, планшеты и т.п.;

    — следить за перемещением своих посылок, перевозимых грузов.

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

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

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

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


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

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

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

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

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


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