По следам мобильного телефона. Геолокация с помощью сотовой сети. Определить Местоположение телефона онлайн – PLNET

Номер телефона

Russia +7 Ukraine +380 Kazakhstan +7 Algeria +213 Andorra +376 Angola +244 Anguilla +1264 Antigua&Barbuda +1268 Argentina +549 Armenia +374 Aruba +297 Australia +61 Austria +43 Azerbaijan +994 Bahamas +1242 Bahrain +973 Bangladesh +880 Barbados +1246 Belarus +375 Belgium +32 Belize +501 Benin +229 Bermuda +1441 Bhutan +975 Bolivia +591 Bosnia Herzegovina +387 Botswana +267 Brazil +55 Brunei +673 Bulgaria +359 Burkina Faso +226 Burundi +257 Cambodia +855 Cameroon +237 Cape Verde Islands +238 Cayman Islands +1345 Central African Republic +236 Chile +56 China +86 Colombia +57 Mayotte +269 Congo +242 Cook Islands +682 Costa Rica +506 Croatia +385 Cuba +53 Cyprus North +90392 Cyprus South +357 Czech Republic +42 Denmark +45 Diego Garcia +2463 Djibouti +253 Dominican Republic +1809 Dominican Republic +1829 Dominican Republic +1849 Ecuador +593 Egypt +20 Eire +353 El Salvador +503 Equatorial Guinea +240 Eritrea +291 España +34 Estonia +372 Ethiopia +251 Falkland Islands +500 Faroe Islands +298 Fiji +679 Finland +358 France +33 French Guiana +594 French Polynesia +689 Gabon +241 Gambia +220 Georgia +7880 Germany +49 Ghana +233 Gibraltar +350 Greece +30 Greenland +299 Grenada +1473 Guadeloupe +590 Guam +671 Guatemala +502 Guinea +224 Guinea - Bissau +245 Guyana +592 Haiti +509 Honduras +504 Hong Kong +852 Hungary +36 Iceland +354 India +91 Indonesia +62 Iran +98 Iraq +964 Israel +972 Italy +39 Ivory Coast +225 Jamaica +1876 Japan +81 Jordan +962 Kazakhstan +7 Kenya +254 Kiribati +686 Korea North +850 Korea South +82 Kuwait +965 Kyrgyzstan +996 Laos +856 Latvia +371 Lebanon +961 Lesotho +266 Liberia +231 Libya +218 Liechtenstein +417 Lithuania +370 Luxembourg +352 Macao +853 Macedonia +389 Madagascar +261 Malawi +265 Malaysia +60 Maldives +960 Mali +223 Malta +356 Marshall Islands +692 Martinique +596 Mauritania +222 Mexico +52 Micronesia +691 Moldova +373 Monaco +377 Mongolia +976 Montserrat +1664 Morocco +212 Mozambique +258 Myanmar +95 Namibia +264 Nauru +674 Nepal +977 Netherlands +31 New Caledonia +687 New Zealand +64 Nicaragua +505 Niger +227 Nigeria +234 Niue +683 Norfolk Islands +672 Northern Marianas +670 Norway +47 Oman +968 Palau +680 Panama +507 Papua New Guinea +675 Paraguay +595 Peru +51 Philippines +63 Poland +48 Portugal +351 Puerto Rico +1787 Qatar +974 Reunion +262 Romania +40 Russia +7 Rwanda +250 San Marino +378 Sao Tome & Principe +239 Saudi Arabia +966 Senegal +221 Yugoslavia +381 Seychelles +248 Sierra Leone +232 Singapore +65 Slovak Republic +421 Slovenia +386 Solomon Islands +677 Somalia +252 South Africa +27 Sri Lanka +94 St. Helena +290 St. Kitts +1869 St. Lucia +1758 Sudan +249 Suriname +597 Swaziland +268 Sweden +46 Switzerland +41 Syria +963 Taiwan +886 Thailand +66 Togo +228 Tonga +676 Trinidad & Tobago +1868 Tunisia +216 Turkey +90 Turkmenistan +993 Turks & Caicos Islands +1649 Tuvalu +688 USA +1 Ukraine +380 Uzbekistan +998 Uganda +256 UK +44 United Arab Emirates +971 Uruguay +598 Vanuatu +678 Vatican City +379 Venezuela +58 Virgin Islands - US +1340 Wallis & Futuna +681 Yemen North +969 Yemen South +967 Zaire +243 Zambia +260 Zimbabwe +263



Текущее местоположение



. Определение местоположения телефона через спутник путем выявления последних точек активности GSM модуля устройства.

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

СовместимостьiPhoneAndroidСкорость работы

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

Автономно от и до

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

Доступно каждому

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

Анонимно и безопасно

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

24/7 глобальная поддержка клиентов

Plnet ценит каждого своего клиента и уделяет большое внимание его обслуживания клиентов 24/7.

95% удовлетворенности клиентов

Удовлетворенность клиентов является наивысшим приоритетом для mSpy. 95% клиентов заявили, что удовлетворены и готовы к переупорядочению наших услуг.

Метод определения местоположения телефона
  • Совместимость - Особенность PLNET заключается в его универсальной совместимости со всеми современными устройствами, функционирующими на различных операционных системах: iOS, Android, Windows Mobile, Symbian и Linux. Теперь Вам не потребуется искать новый метод получения геоданных для каждого конкретного телефона. Локатор мобильных устройств одинаково успешно отображает данные геолокации как новейших Iphone смартфонов, так и далеко не новых кнопочных телефонов родом из 90-х. Локатор мобильных устройств PLNET одинаково эффективно взаимодействует с мобильными операторами более 100 стран мира.
  • Отсутствие согласия владельца устройства - Сегодня практически каждый производитель электронных устройств предлагает встроенную функцию определения геолокации. У Apple она называется Найти Iphone . У Android данная функция носит название Удаленное управление Помимо этого сотовые операторы предлагают аналогичные сервисы МТС Локатор, Радар Мегафон, Билайн.Локатор, Маячок от Киевстар и так другие. Но у всех этих сервисов есть основной минус – Вы не сможете активировать их без доступа к устройству. PLNET в свою очередь не требует уведомления и согласия со стороны владельца устройства.
  • Правовой аспект - Мы не интересуемся с какой целью пользователи оформляют подписку PLNET и в свою очередь гарантируем полную неприкосновенность конфиденциальной информации. Все полученные данные проходят процесс двухфакторного шифрования и не могут быть переданы третьим лицам, не зависимо от источника запроса.

Остались вопросы? Мы с удовольствием на них ответим: Если Вы хотите оставить отзыв или внести какое – либо предложение, Вы можете сделать это в разделе

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

Значение слова

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

Данные о геолокации можно получить через:

  • IP-адрес устройства.
  • Технологию GPS.
  • Технологию Wi-Fi.
  • Мобильные сети.
  • Данные пользователя электронным устройством.
  • Каждый из этих способов имеет свои особенности, поэтому чтобы ответить на вопрос, что такое геолокация, необходимо рассмотреть их более подробно.

    Определение геолокации с помощью IP-адреса

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

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

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

    Его минусы:

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

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

    Технология GPS

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

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

    • Низкая скорость обработки данных.
    • Прерывание связи со спутником в некоторых помещениях/метро/лифте.
    • Иногда требуется установка специального приложения на гаджет.

    Теперь вы понимаете, что такое геолокация в телефоне, как установить эту функцию.

    Определение геолокации с помощью технологии Wi-Fi

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

    • Высокая точность.
    • Доступность в любых помещениях.
    • Высокая скорость и экономичность.
    • Требуется Wi-Fi адаптер.
    • Невозможно воспользоваться данным методом в сельской местности.

    Определение геолокации с помощью ручного ввода информации

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

    Чуть ниже будет находится раздел «Режим». В котором можно выбрать способ работы геолокации.

    Если вы откроете раздел «Режим», то перед вами появится три возможных режима работы геолокации. Рассмотрим более подробно каждый из этих режимов.

    • Режим «По всем источникам» (в старых версиях Андроид данный режим назывался «Высокая точность» ). Самый точный режим работы геолокации. Если включить данный режим, то для определения вашего местоположения будет использоваться все доступная смартфону информация. Это данные с спутников, данные от мобильного оператора, а также данные полученные благодаря беспроводным сетям Wi-Fi и .
    • Режим «По координатам сети (в старых версиях – «Экономия заряда батареи» ). В данном режиме используются данные только от мобильного оператора и беспроводных сетей (Wi-Fi и Bluetooth). В то время как GPS модуль не работает и не расходует заряд батареи. Включения данного режима работы геолокации позволяет экономить заряд батареи и продлевать время автономной работы устройства.
    • По спутникам GPS (в старых версиях – «По датчикам устройства» ). Режим работы геолокации в котором используются данные исключительно от GPS модуля. При этом информация от мобильного оператора и беспроводных сетей в расчет не берётся.

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

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

    Геолокация

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

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

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

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