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

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

Что такое геолокация и местоположение?

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

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

Зачем нужна геолокация?

Одна из основных возможностей геолокации (геопозиции) - построение маршрута к нужному объекту. Для этого Google в операционной системе Android предусмотрела специальное приложение под названием Карты Google (Google Maps). В строку поиска вводится требуемый адрес или координаты, а программа определяет их местонахождение на местности. Исходя из этого предлагается подробное направление для движения. Единственное неудобство - возможное отсутствие интернета в некоторых районах.

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

Кроме Google Maps есть много приложений, которые строят используют определение местоположения, строят маршруты и показывают ближайшие магазины:

  • Яндекс.Навигатор и любые навигаторы;
  • 2ГИС и другие справочники;
  • Google Фото (запоминает, где была сделана фотография).

Геолокация в Android позволяет:

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

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

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

Как включить геолокацию на Android?

Чтобы включить определение местоположения на Android-смартфоне, достаточно зайти в настройки и найти пункт «Местоположение» (название может отличаться в зависимости от версии Android и фирменной прошивки).

В разделе «Режим» можно задать, по каким источникам будет работать определение местоположения: только по GPS, по координатам сети (Wi-Fi, Bluetooth, мобильный интернет) и по всем источникам. Последний способ самый эффективный и быстрый.

Как отключить геолокацию на Android?

Отключить геолокацию на телефоне очень просто - снова зайдите в «Настройки» — «Местоположение» и деактивируйте опцию. На многих смартфонах включить и отключить передачу геоданных можно в меню быстрых настроек (свайп от статус-бара вниз)

Каждый смартфон, будь он на Android или iOS имеет в настройках опцию записи историй местоположений , о которой большинство пользователей даже не догадывается. Если вы регулярно проверяете телефон своего партнера на предмет подозрительных переписок, звонков, а там "чисто" - вся переписка удаляется, или просто не найдено того, что нужно, можно воспользоваться данной возможностью. В подозрительных случаях, когда вы не знаете, где на самом деле находится ваша вторая половинка, или вы не верите озвученной вам версии, вы можете запросто узнать, где же на самом деле была ваша пассия - у мамы или в неизвестном вам жилом доме в Восточном Бирюлёво, на работе до поздна или в сауне в Люберцах. Вам необходимо постигнуть некоторые тонкости, прежде чем вы сможете получить доступ к записи историй местоположений владельца мобильного телефона:

Многие люди на компьютере пользуются браузером Google Chrome, в котором вводят свой логин пароль для синхронизации между телефоном и компьютером. Это очень удобно. Часто на данный гугл аккаунт стоит автовход или сохранен пароль, вводить его не нужно, вы сразу можете начать отслеживание (см. ссылки внизу статьи)
- многие люди используют эту Гугл почту в качестве личной почты.
- если варианты выше не подходят, вам нужно узнать имя этого google аккаунта (посмотреть можно многими способами, например войдя с телефона в приложение Gmail, - вас интересует адрес почтового ящика), зайти в gmail.com с компьютера и запросить восстановление пароля при входе в аккаунт, для этого нажмите ссылку "Нужна помощь?"

Выберите вариант "Затрудняюсь ответить"

Нажмите "Отправить оповещение"

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

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

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

После всех этих "плясок с бубном", вы наконец подошли к своей заветной цели - все перемещения объекта за каждый день рисуются прямо на карте! Чтобы увидеть эту самую карту, авторизуйтесь под добытыми вами логином и паролем на google.com и перейдите по ссылке ниже. Цель достигнута!

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

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


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

Определить где находится владелец сотового телефона сегодня может каждый. Большинство операторов предлагают опцию – геолокация. Она позволяет отследить нахождение абонента вплоть до нескольких метров. При этом нет надобности в таких службах как GPS или ГЛОНАСС .

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

Существует несколько сервисов, которые позволяют отследить место, где в данный момент находится сотовый телефон (в большинстве случаев и его владелец тоже). Одним из таких сервисов является — Mobile Monitoring . Услуга, которую предлагает этот сервис, платная. На момент написания статьи, месяц пользования услугой стоил 400 рублей. Небольшая сумма за получения данных о близких людях.

Что такое геолокация: как по номеру телефона найти человека онлайн?

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

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

Геолокация

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

Как определить местоположение человека по телефону Билайн?

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

Активировать «Локатор» можно с помощью номера:

09853

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

Услуга «Билайн.Локатор» использует свои базовые станции. При этом, пользователь может получать данные на карте (при использовании смартфона) или с помощью смс-оповещения.

Стоимость услуги 3 рубля в сутки. Первая неделя использования – бесплатно.

Услуга Локатор на Теле2

Услуга, аналогичная опции «Билайн.Локатор» есть и в Теле2. Она называется «Геопоиск» и доступна абонентам этого оператора на любом тарифном плане. Используя эту опцию можно узнать где в данный момент находится абонент Теле2. Но, при этом, абонент за которым вы хотите таким образом следить, должен дать вам для этого свое разрешение.

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

Подключение опции «Геопоиск»:

*119*01#

Когда услуга станет активной нужно задать USSD-запро с с номером телефона владельца которого вы разыскиваете. На его телефон придет СМС с запросом разрешения информации о его местоположении. Если он разрешит, то вам на телефон придет сообщение о том, где находится разыскиваемый абонент Теле2.

Стоимость «Геопоиска» — 2 рубля стуки.

Мегафон — услуга Радар

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



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

  • «Радар Лайт» . Облегченный вариант этой опции. С его помощью можно отслеживать местоположение одного абонента один раз в сутки.
  • «Радар» . С помощью этой опции можно отслеживать до пяти абонентов в сутки. Причем узнать их местоположение можно сколько угодно раз. Стоимость — 3 рубля.
  • «Радар +» . Самый дорогой вариант опции. Стоит 7 рублей в сутки. С его помощью вы можете определить маршрут абонента и установить геозону, при выходе из которой вам придет СМС.

ВАЖНО: «Радар+» часто заказывают родители для отслеживания своих детей. Но, вместо ежедневной оплаты 7 рублей можно купить для своего ребенка специальный гаджет – детские «умные» часы с GPS-приемником. С помощью таких часов можно связаться с ребенком и отслеживать его маршрут передвижения.

Подключить «Мегафон Радар» можно через страничку radar.megafon.ru или с помощью коротких команд. О них читайте ниже.

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

МТС – услуга Локатор, ребенок под присмотром

В арсенале федерального мобильного оператора МТС есть сразу две услуги, позволяющей найти абонента: «Локатор» и «Ребенок под присмотром» . Пользоваться первой услугой можно, только если абонент даст на это согласие.

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

Услуга ребенок под присмотром Билайн

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



Билайн. Локатор

При использовании этой услуги создается «Семья», в которую можно объединить номера родственников и детей. Объединение родственников происходит с помощью коротких команд. Для того, чтобы узнать, координаты ребенка, нужно отправить запрос ГДЕ ДЕТИ или ГДЕ имя_ребенка .

Слежка за человеком через телефон Айфон

Для смартфонов на операционной системе Android и iOS существует несколько приложений, которые способны показать нахождение пользователя в данный момент времени. Для владельцев айфонов таким приложением является «Find My Friends » . С его помощью можно узнать точное местонахождение друзей на навигационной карте. Это приложение использует технологию GPS . Для использования этого приложения абонент, местоположение которого вы хотите узнать, должен разрешить вам сделать это.

USSD-запрос на местоположение абонента

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

«Теле2 Геопоиск»

  • Подключить *119*01#
  • Отключить *119*00#
  • Найти абонента *119*2*7xxxxxxxxxx#

«Мегафон Локатор»

  • *148*номер_абонента#

«Билайн Локатор»

  • Узнать местонахождение абонента *566#

«МТС Локатор»

  • Подключение опции и управление ей происходит с помощью смс
Поиск телефона по GPS с помощью приложения на Андроид

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

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



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

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

Как определить местоположение человека по Viber?

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

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

Нажимаем «Отправить местоположение»

После активации этой функции собеседник увидит на карте координаты текущего местоположения.

Как установить маячок на телефон мужа без его согласия?

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

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

Законно ли следить за человеком по номеру телефона без его согласия?

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

Видео. Как Найти Человека По Номеру Телефона?

Геолокация

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

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

Большинство новых возможностей 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);

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

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

Никогда ни о чем не забывайте

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

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

Расскажите друзьям, где вы

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

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

Будьте в курсе перемещений ваших друзей

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

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

Прибывайте на встречи вовремя

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

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

Отключите отслеживание информации о посещаемых местах

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

Нужный нам тумблер спрятан в недрах системных служб геолокации. Вот здесь: «Настройки» → «Конфиденциальность» → «Службы геолокации» → «Системные службы» → «Часто посещаемые места». Переводим его в положение «выкл.», и больше можно не бояться слежки спецслужб, Большого Брата и прочих масонов.