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

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

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

Для чего они это делают? В некоторых приложениях есть карта мест где вы были, а например в «Картах» это используется для определения точного местонахождения и прокладывания необходимых для вас маршрутов. Если приём GPS данных качественный, то кружок на карте будет отмечаться синим цветом, а если передача данных слабая, то радиус круга будет увеличиваться. Соответственно, чем меньше круг — тем выше точность. Как включить GPS навигатор на iPhone 5S и iPhone 6?

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

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

Как разрешить информирование о вашей геопозиции

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

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

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

Работа служб геолокации

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

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

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

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

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

    Отключать или нет службу геолокации?

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

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

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

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

    Геолокация - определение местоположения (широты и долготы места) пользователя сети Интернет по радиосигналам глобальной навигационной спутниковой системы ГЛОНАСС/GPS, по уровню сигналов точек доступа WiFi, по номеру соты CellID в сети сотовой связи, по IP-адресу компьютера.

    Геолокация от Google Для определения местоположения пользователей в современных браузерах есть поддержка геолокации в виде объекта navigator.geolocation. У данного объекта есть два метода getCurrentPosition() и watchPosition(). Пример использования метода navigator.geolocation.getCurrentPosition() приведен ниже.

    /* Определение текущих координат с помощью технологии * Geolocation (GNSS, WiFi, CellID, IP) и Yandex.API */ function getPosition() { if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(// Пытаемся определить текущие координаты googleAPI, // Иначе, определяем координаты центра города по IP-адресу с помощью Яндекс.API yandexAPI, // Параметры { enableHighAccuracy: true, // Режим высокой точности timeout: 27000, // Максиальное время ожидания ответа (в миллисекундах) maximumAge: 0 // Максимальное время жизни полученных данных }); } else { yandexAPI(); } // Устанавливаем таймер вызова этого же метода через 30 секунд setTimeout("getPosition()", 30000); } /* Определяем координаты с помощью Google.API */ function googleAPI(position) { alert(position.coords.latitude+", "+position.coords.longitude); } /* Определяем координаты с помощью Yandex.API */ function yandexAPI(error) { alert(ymaps.geolocation.latitude+", "+ymaps.geolocation.longitude); } В этом примере информация о местоположении обновляется каждые 30 секунд, при этом каждый раз данные от Google запрашиваются заново и ожидаются в течении 27 секунд.

    Первый тест работы геолокации При использовании геолокации в интернет-проекте сразу же возникает вопрос о точности определения координат. Именно этим мы сейчас и займемся. Проведем для этого небольшой эксперимент. Для этого создадим сайт, содержащий JavaScript, который будет с заданной частотой опрашивать определять координаты двух устройств: первое - ноутбук с включенным адаптером WiFi, подключенный к сети Интернет через GPRS/3G-модем, второе - смартфон с выключенным GPS-приемником и включенной поддержкой навигации в сотовых сетях GSM и/или по точкам доступа WiFi, подключенный к сети Интернет также через GPRS/3G-модем. Таким образом, имеем возможность оценить точность навигации только по точкам доступа WiFi и с учетом данных сотовой сети GSM. Итак, поместим все устройства в автомобиль и провезем их по дорогам Санкт-Петербурга. Оборудования оказалось не много, все уместилось на переднем пассажирском сиденье.

    Рис. 1. Внешний вид экспериментальной установки

    Длина маршрута составляет 15 км, начало в спальных районах Санкт-Петербурга на Гражданке, окончание - гидрометеорологический университет на набережной, напротив Александро-Невской Лавры. Результаты последовательных измерений местоположения каждые 30 секунд соединены прямыми линиями: синяя - WiFi, красная WiFi/GSM.


    Рис. 2. Данные тестирования геолокации в сотовых сетях GSM и/или по точкам доступа WiFi

    Из полученных данных можно сделать предварительный вывод, что точность вполне удовлетворительная, по крайней мере отклонения от траектории не превышают 1000 метров. Как ни странно, но точность геолокации по WiFi/GSM хуже, чем по WiFi. Это хорошо видно по скачкам красной трактории от одной базовой станции к другой.
    Однако, для количественной оценки точности необходимо привлечение третьего источника данных о местоположении, определенного по радиосигналам ГЛОНАСС/GPS. При этом координаты должны определяеться без использования геолокации от Google. Это связано с тем, что использование метода navigator.geolocation.getCurrentPosition() при включенном ГЛОНАСС/GPS-приемнике и модуле WiFi улучшает точность геолокации по точкам доступа WiFi и тем самым влияет на результаты оценки точности (точность оказывается всегда лучше, чем в тех местах где нас еще не было).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Геолокация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Установить на отслеживаемый телефон шпионское ПО. Подойдет что-нибудь типа "Слежка за телефоном", Hellospy, Talklog.
  • Настроить параметры передачи информации.
  • С компьютера или телефона отправить запрос на заранее установленный софт.
  • Получить информацию о положении устройства.
  • Быстро, просто и удобно. Обнаружить шпионские программы могут только последние версии антивирусов. Но работающую геолокацию найти проблематично.

    iPhone и слежка

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

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

  • Открыть главное меню телефона.
  • Зайти в "Настройки"-"Конфиденциальность".
  • Выбрать параметр "Службы геолокации".
  • Установить тумблер в положение "Включено".
  • При необходимости настроить соединение геолокации с другими приложениями на гаджете.
  • После этого воспользоваться геолокацией можно посредством облачного сервиса iCloud. Делается это так:

  • Зайти на сайт icloud.com.
  • Войти в систему при помощи AppleID.
  • Нажать на кнопку "Геолокация".
  • Выбрать в верхней части экрана свое устройство.
  • Кликнуть по строчке "Найти iPhone".
  • Дело сделано. Теперь можно ознакомиться с выданной информацией. Так люди могут отслеживать свои "яблочные" девайсы.

    Отключение

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

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

  • Зайти в настройки гаджета.
  • Отыскать "Конфиденциальность"-"Службы геолокации".
  • Выставить переключатель в положение "Выключить".
  • Теперь ответ на вопрос: "Геолокация - что это такое?" не доставит хлопот. Ведь вы уже знакомы с этим приложением.



    
    Top