Більшість сучасних пристроїв здатні виявляти своє власне місце розташування через GPS, Wi-Fi, або IP геолокацію.
![Geolocation api (geolocation) Geolocation api](https://images-on-off.com/images/163/geolocationapi-27a2294f.jpg)
джерела розташування
- GPS - Використовується на мобільних пристроях, точність до 10 метрів.
- Wi-Fi - доступна на більшості підключених до інтернету пристроїв, також дуже точна.
- IP геолокація - прив'язана до регіону і ненадійна, використовується в якості найгіршого сценарію, коли перші два потерплять невдачу.
При запиті гео-даних, браузер буде намагатися використовувати всі три способи. Результати частіше використовуються від Wi-Fi джерела, оскільки в цьому випадку дані визначаються швидше, ніж за допомогою GPS. Крім того, цей спосіб більш точний, ніж IP geolcation.
Використання Geolocation API
Geolocation API має повну кросбраузерності підтримку:
Тим не менш, не завадить переконатися, що браузер користувача підтримує HTML5 Geolocation API.
Усередині об'єкту navigator.geolocation розміщуються наступні API-методи:
- Geolocation.getCurrentPosition () - визначає поточну позицію пристрої.
- Geolocation.watchPosition () - відстежує зміни в місці розташування і викликає функцію зворотного виклику.
- Geolocation.clearWatch () - видаляє обробник події watchPosition.
Методи getCurrentPosition () і watchPosition () використовуються для подібних цілей. Вони обидві працюють в асинхронному режимі, намагаючись отримати позицію пристрої і в залежності від результату викликати функцію зворотного виклику або функцію обробки помилки, якщо вона передбачена розробником.
Як бачите, Geolocation API досить легко у використанні. Ми просто повинні викликати правильний метод, отримати координати, а потім робити з ними все, що захочемо.
Запит дозволу на визначення положення
Оскільки Geolocation API використовує персональну інформацію коли програма намагається отримати доступ до нього в перший раз, то ми побачимо діалогове вікно із запитом дозволу. Це гарантує конфіденційність особистих даних користувача.
![Geolocation api (Unity Детальний керівництво) Geolocation api](https://images-on-off.com/images/163/geolocationapi-5b5d68e6.png)
![Geolocation api (unity гра Unity) Geolocation api](https://images-on-off.com/images/163/geolocationapi-4eac017a.png)
Браузер, як правило, бере на себе для відображення діалогового вікна, але дозвіл також можна запросити програмним способом. Це може стане в нагоді в разі відмови користувача розкрити своє місце розташування і якому браузер більше не буде докучати з подібними проханнями.
безпечні хости
Інший захисною мірою є використання HTTPS-з'єднання. У зв'язку з новою політики веб-безпеки, Google Chrome (для настільних і мобільних версій) більше не дозволяє використовувати незахищені хости для запуску Geolocation API. Замість цього, розробники, які хочуть використовувати цю функцію повинні користуватися протоколом HTTPS, що зводить до мінімуму ризики, пов'язані з крадіжкою або зловживанням інформацією.
Приклад роботи з Geolocation API
Щоб продемонструвати як все це працює, ми створили простий додаток, яке складається з однієї кнопки, визначальною при натисканні на неї координати пристрою і показує його положення на карті.
висновок
![Geolocation api (geolocation) Geolocation api](https://images-on-off.com/images/163/geolocationapi-40c039ad.jpg)
- unity
![Geolocation api (Unity Детальний керівництво) Geolocation api](https://images-on-off.com/images/163/geolocationapi-7ef0da23.jpg)
![Geolocation api (geolocation) Geolocation api](https://images-on-off.com/images/163/geolocationapi-bf34004d.jpg)
- unity
![Geolocation api (гра Unity Детальний) Geolocation api](https://images-on-off.com/images/163/geolocationapi-40c039ad.jpg)
- unity
![Geolocation api (unity гра Unity Детальний) Geolocation api](https://images-on-off.com/images/163/geolocationapi-40c039ad.jpg)
- unity
![Geolocation api (гра Unity Детальний) Geolocation api](https://images-on-off.com/images/163/geolocationapi-40c039ad.jpg)
- unity
![Geolocation api (unity гра Unity Детальний) Geolocation api](https://images-on-off.com/images/163/geolocationapi-40c039ad.jpg)
- unity
![Geolocation api (Unity Детальний керівництво) Geolocation api](https://images-on-off.com/images/163/geolocationapi-e1d2c117.png)
- unity
![Geolocation api (гра Unity Детальний) Geolocation api](https://images-on-off.com/images/163/geolocationapi-e1d2c117.png)
- unity