Як налаштувати геолокацію на пристрої Android. Все про геолокації на телефоні андроїд Дані геолокації

Геолокація - що це таке? Подібну назву носить спеціальний сервіс, який здасться вкрай зручним сучасним людям. Але не всі знають, як ним користуватися. Нижче буде розказано про особливості цього додатка. Насправді все набагато простіше, ніж здається. І при правильній підготовці громадяни зможуть досить швидко впоратися з поставленим завданням.

опис сервісу

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

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

способи використання

Отже, геолокації (що це, ми вже з'ясували) називають програму для показу місцеположення людини на карті в режимі реального часу. Можна сказати, це своєрідний шпигун.

У реальному житті існує кілька способів використання геолокації. А саме:

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

Також хтось може завантажити і встановити собі стороннє додаток для визначення місця розташування іншої людини. Далі ми розглянемо всі ці прийоми.

Оператори зв'язку

Але це ще не все про таке поняття, як геолокація. Що це може бути ще? Подібну назву носить сервіс-пошуковик. Використовувати його насправді не складає труднощів. Зокрема, якщо не користуватися геолокації таємно. Інакше процес доставить немало клопоту.

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

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

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

Якщо запит був відправлений з телефону, користувачеві прийде повідомлення із зображенням карти, на якій буде відображено той чи інший абонент. Все гранично просто і зрозуміло.

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

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

Тому багато хто намагається шукати інші прийоми. І це цілком здійсненне завдання. Головне - це правильно підійти до її вирішення.

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

Як включити геолокацію від стільникових операторів? Все залежить від обслуговуючої компанії. Можливі наступні варіанти:

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

Насправді все не так вже й важко. Але доведеться розуміти, що досліджуваний сервіс працює з деякими похибками. Він відображає стан телефону з різницею до 1 кілометра (в центрі міста - до 200 метрів).

сторонній софт

Геолокація на "андроїд" найчастіше активується через сторонні програми і додатки. Основна їх маса платна.

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

  1. Встановити на відстежується телефон шпигунське ПЗ. Підійде що-небудь типу "Стеження за телефоном", Hellospy, Talklog.
  2. Налаштувати параметри передачі інформації.
  3. З комп'ютера або телефону відправити запит на заздалегідь встановлений софт.
  4. Отримати інформацію про місце перебування.

Швидко, просто і зручно. Виявити шпигунські програми можуть тільки останні версії антивірусів. Але працює геолокацію знайти проблематично.

iPhone і стеження

Але це ще не все. В iPhone геолокація вбудована. Це сервіс, який бажано активувати після першого включення телефону.

Щоб впоратися з поставленим завданням, необхідно:

  1. Відкрити головне меню телефону.
  2. Зайти в "Налаштування" - "Конфіденційність".
  3. Вибрати параметр "Служби геолокації".
  4. Встановити тумблер в положення "Включено".
  5. При необхідності налаштувати з'єднання геолокації з іншими додатками на гаджет.

Після цього скористатися геолокації можна за допомогою хмарного сервісу iCloud. Робиться це так:

  1. Зайти на сайт icloud.com.
  2. Увійти в систему за допомогою AppleID.
  3. Натиснути на кнопку "Геолокація".
  4. Вибрати у верхній частині екрану свій пристрій.
  5. Клікнути по рядку "Знайти iPhone".

Справу зроблено. Тепер можна ознайомитися з виданої інформацією. Так люди можуть відстежувати свої "яблучні" девайси.

відключення

Як відключити геолокацію? Відповідь залежить від способу підключення опції. У випадку з операторами зв'язку доведеться звертатися до відповідних організацій або використовувати USSD-запити. Якщо мова йде про шпигунському ПЗ, необхідно просто видалити його.

На "яблучних" девайсах потрібно виконати наступне:

  1. Зайти в налаштування гаджета.
  2. Відшукати "Конфіденційність" - "Служби геолокації".
  3. Виставити перемикач в положення "Вимкнути".

Тепер відповідь на питання: "Геолокація - що це таке?" не завдасть клопоту. Адже ви вже знайомі з цим додатком.

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

Що таке геолокація в телефоні і як її підключити?

Географічна локація - це розташування об'єкта на поверхні землі. Даним терміном позначається процедура визначення місцезнаходження контрольованого об'єкта. Виявлення відбувається по радіосигналу, що виходить від електронного пристрою. Чим більше станцій спостереження і прийому сигналів зафіксують вихідний сигнал, тим точніше можна буде визначити позицію об'єкта на місцевості.

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

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

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

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

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

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

Зверніть увагу, що пошук через мобільного оператора може бути здійснений тільки за згодою абонента. Тобто, якщо людина з якихось причин не може підтвердити згоду на визначення своїх координат, оператор зв'язку не має права надавати цю інформацію. Виняток становить запит силових структур за рішенням суду. Крім цього, пошук позиції абонента через оператора - це додаткова послуга, яка платна. Її вартість залежить від мобільного оператора і регіону проживання абонента.

Геолокації в айФоні

«Яблуневий» девайс будь-якої серії - це пристрій, в якому реалізована корисна опція визначення координат. Геолокації в айФоні дозволяють не просто користуватися девайсом в якості навігатора. Але також використовувати функцію «Знайти телефон», якщо девайс був загублений і потрапив в руки шахраїв.

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

Користувач гаджета може активувати «режим пропажі». Ця опція заблокує смартфон, але на його екрані відобразиться номер власника, за яким знайшов зможе з ним зв'язатися.

Ну і корисна опція, про яку не можна не згадати. Через програму можна активувати функцію «Стерти Айфон». Вона допоможе видалити зі смартфона особисті дані власника, щоб вони не потрапили в руки шахраїв. Якщо пізніше гаджет буде знайдений, то всі дані можна легко відновити через опцію резервного копіювання.

Геолокації в соціальних мережах

Соціальні мережі - частина нашого життя, тому і там існує функція геолокації. Активувавши в особистому профілі дану опцію, користувач отримує можливість «прив'язувати» свої фотографії до місця на карті. Так, фоловерів зможе побачити, де знаходяться ті чи інші важливі місця власника аккаунта.

Як працює геолокація в смартфоні

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

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

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

Працюють дані системи наступним чином:

  • Супутники безперервно направляють на наземні станції сигнали про своє перебування.
  • Приймач, в даному випадку - телефон, на якому включений GPS або GLONASS, вловлює ці закодовані сигнали. Він фіксує час їх отримання, розраховує відстань до супутників, які послали сигнали, і визначає своє становище, використовуючи довготу, ширину і висоту над рівнем моря.
  • Після чого відображає точні координати на інтерактивній карті на екрані смартфона.

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

Недолік роботи GPS - швидка розрядка акумулятора смартфона.

Як користуватися геолокації після підключення

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

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

  • В якості навігатора. Якщо користувач планує відправитися в подорож, то, використовуючи геолокацію і додатки, можна заздалегідь вибудувати потрібний маршрут. Потім відстежувати по карті свої переміщення, щоб не збитися і не піти з наміченої траєкторії руху. На карті може відображатися шлях і завантаженість дороги (ділянки, на яких утворилися пробки і затори, підсвічуються червоним). Там же видається інформація про швидкість руху, відстані з пункту А в пункт В і залишився відстані. Також розраховується приблизний час шляху.
  • Для позначки пам'ятних місць. Координати можна «прив'язувати» до фотографій, зроблених на телефон.
  • У пошукових запитах. Залежно від координат користувача при працюючому GPS, пошукові системи будуть видавати відповіді з територіальної прив'язкою. Це економить час користувача. Наприклад, задавши в інтернеті запит «де купити квіти», система автоматично видасть в першу чергу адреси довколишніх магазинів. Також абонент зможе знайти будь-які адреси магазинів, кафе, кінотеатрів.
  • Для бізнесу. Годинне допомагають аналізувати клієнтський попит на товари, в залежності від регіону. Також регулюються ціни, розміщуються рекламні банери саме там, де на конкретні товари / послуги дуже високий або, навпаки, занадто низький попит.

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

Що таке геолокація на телефоні і як вона працює


геолокація

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

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

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

Цей крок можна не виконувати і продовжувати отримувати повідомлення про переміщення до тих пір, поки відвідувач не покине сторінку.

Однією з основних функцій сучасного смартфона є геолокація. З її допомогою можна використовувати смартфон в якості GPS навігатора, залишати свої координати на фотографіях, відправляти дані про своє місцезнаходження, а також багато іншого. У цій статті ви зможете дізнатися про те, як включити геолокацію на Android смартфоні, а також як її правильно налаштувати.

У більшості випадків, на Андроїд смартфоні геолокація включена і працює. Але, якщо ви до цього відключали цю функцію, а тепер хочете знову її включити, то вам потрібно зайти в налаштування Андроїд смартфона і знайти там розділ під назвою «Місцезнаходження» (в останніх версіях цей розділ знаходиться за адресою: Налаштування - Захист і місце розташування - Місцезнаходження). Саме в цьому розділі зосереджені всі налаштування, які стосуються геолокації.

У розділі «Місцезнаходження», в самому вгорі екрану, ви знайдете перемикач, за допомогою якого можна включити геолокацію на Андроїд.

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

Як налаштувати геолокацію на Android

Якщо ви відкриєте розділ «Режим», то перед вами з'явиться три можливі режими роботи геолокації. Розглянемо більш детально кожен з цих режимів.

  • Режим «За всіма джерелами»(В старих версіях Андроїд даний режим називався "Висока точність"). Найточніший режим роботи геолокації. Якщо включити даний режим, то для визначення вашого місця розташування буде використовуватися все доступна смартфону інформація. Це дані з супутників, дані від мобільного оператора, а також дані отримані завдяки бездротових мереж Wi-Fi і.
  • Режим «За мережеве(В старих версіях - «Економія заряду батареї»). В даному режимі використовуються дані тільки від мобільного оператора і бездротових мереж (Wi-Fi і Bluetooth). У той час як GPS модуль не працює і не витрачає заряд батареї. Включення даного режиму роботи геолокації дозволяє економити заряд батареї і продовжувати час автономної роботи пристрою.
  • По супутниках GPS(В старих версіях - «За датчикам пристрої»). Режим роботи геолокації в якому використовуються дані виключно від GPS модуля. При цьому інформація від мобільного оператора і бездротових мереж в розрахунок не береться.

Якщо повернутися в розділ налаштувань «Місцезнаходження» та перегорнути настройки в самий кінець, то тут там можна виявити ще пару цікавих функцій. Це «Історія розташування» і «Передача геоданих».

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

Сподобалася стаття? Поділіться з друзями!