🚖 Урок 5: Geolocation — де я?
📍 Визначаємо місцезнаходження!
Відкриваєш Uber — він вже знає де ти!
Geolocation API визначає координати через GPS або Wi-Fi.
🛰️ GPS точний до 3-5 метрів на відкритій місцевості!
📶 Wi-Fi визначає локацію до 50-100 метрів в приміщенні!
📍 getCurrentPosition() — отримуємо координати
✅ Success callback — коли користувач дозволив
❌ Error callback — коли відмовив або помилка
🙋 Ти: "Де я зараз?"
🔐 Браузер: "Спочатку дозвіл!" (спливаюче вікно)
✅ Користувач: "Дозволяю!"
📍 Браузер: "Ось твої координати: 50.4501, 30.5234"
Приватність понад усе! Без дозволу — нічого не отримаєш.
🔐 Чому браузер питає дозвіл?
Геолокація — це чутлива інформація. Уяви:
Тому: Браузер ЗАВЖДИ питає дозвіл перед доступом до геолокації!
👆 Натисни "Знайти мене" і дозволь геолокацію в браузері!
navigator.geolocation.getCurrentPosition(...)
Від -90° до +90°
+ = північ, - = південь
Від -180° до +180°
+ = схід, - = захід
Показує радіус в метрах, в якому ти знаходишся.
GPS: ~5-15м | Wi-Fi: ~50-100м | IP: ~1-5км
"Де я зараз?" → Отримав відповідь → Все, функція закінчила роботу.
💡 getCurrentPosition(success, error) — запитує координати ОДИН раз
💡 position.coords — об'єкт з координатами та точністю
getCurrentPosition(
successCallback, // отримав координати
errorCallback, // помилка або відмова
options // налаштування (опціонально)
)
'geolocation' in navigator — перевіряє чи браузер підтримує API.Старі браузери або деякі вбудовані WebView можуть НЕ підтримувати!
або сигнал недоступний. Завжди обробляй помилки!
💡 error.message — текстовий опис помилки
PERMISSION_DENIED |
Користувач відмовив |
POSITION_UNAVAILABLE |
GPS/Wi-Fi недоступний |
TIMEOUT |
Занадто довго чекали |
Якщо користувач натиснув "Заблокувати", браузер запам'ятає це!
Наступного разу спливаюче вікно НЕ з'явиться — одразу error callback.
Щоб скинути: Налаштування сайту → Дозволи → Геолокація
watchPosition — відеозйомка 🎥 (постійне оновлення)
💡 clearWatch(watchId) — зупиняє відстеження (ОБОВ'ЯЗКОВО!)
| getCurrentPosition | watchPosition |
| Один раз | Постійно |
| Для: "Де я зараз?" | Для: навігація, трекінг |
| Не потребує зупинки | ОБОВ'ЯЗКОВО clearWatch! |
watchPosition постійно використовує GPS!Якщо забудеш
clearWatch():• 🔋 Батарея швидко розрядиться
• 📱 Телефон нагріється
• 👤 Користувач буде незадоволений
• getCurrentPosition — визначити стартову точку
• watchPosition — показувати рух таксі на карті
• clearWatch — зупинити коли поїздка завершилась
▶️ Натисни RUN і перевір!
Дозволь геолокацію — побачиш свої координати!
🏆 Що ти вивчив:
✅ Коли все працює:
Натисни "Готово" в редакторі!
⏱️ ~20 хв • Урок 5 з 8
Потрібна допомога?
Напиши код і натисни Run ▶
