latitude — широта поточного місця користувача в JavaScript


Загальний опис

latitude – це властивість, яка повертає широту поточного місця розташування користувача, використовуючи його координати. Значення latitude визначається у градусах і є частиною об’єкта coords, що міститься у відповіді методу getCurrentPosition або watchPosition з об’єкта navigator.geolocation. Вона є важливою частиною API геолокації JavaScript і дозволяє веб-додаткам отримувати доступ до місцезнаходження користувачів.

Щоб використовувати latitude, потрібно викликати метод navigator.geolocation.getCurrentPosition, який вимагає колбек-функцію, що виконається при успішному отриманні координат. У цій колбек-функції доступний об’єкт position, всередині якого є властивість coords, яка містить latitude, longitude та інші дані про місце користувача. Наприклад, position.coords.latitude поверне числове значення широти у форматі десяткового числа, що можна відобразити в консолі, використовувати для розрахунків, відображення на карті тощо.

Метод getCurrentPosition приймає три параметри: перший – це колбек на успішний результат, другий – обробка помилок, а третій – об’єкт параметрів, який може змінити налаштування, наприклад, "час життя" кешованих координат та максимально допустиме очікування відповіді. За замовчуванням браузер запитує дозволу в користувача на використання його даних геолокації при першому виклику цього методу.

navigator.geolocation.getCurrentPosition((position) => {
const latitude = position.coords.latitude;
console.log(`Поточна широта: ${latitude}`);
}, (error) => {
console.error("Помилка геолокації:", error);
});

Отримавши значення latitude, можна використовувати його для відображення місця розташування на карті, розрахунку відстаней між точками, персоналізації вмісту на основі місцезнаходження користувача або надання додаткових послуг, як-от пошук найближчих місць. Важливо пам’ятати, що точність значення залежить від доступних геолокаційних джерел (GPS, Wi-Fi тощо) і дозволу користувача.

автор: Bond

Порада

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

автор: Bond
Порада

Використовуйте watchPosition, якщо вам потрібно постійне відстеження місця користувача (наприклад, у додатках для доставки або відстеження маршрутів). Однак будьте обережні, оскільки це може швидко витратити заряд батареї користувача.

автор: Bond
Порада

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

автор: Bond

Синтаксис

position.coords.latitude;

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
5 3.5 5 16 12 9
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 ≤3

Приклади

+ запропонувати свій приклад у пісочниці

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

HTML

<header>
  <h2 class="title">Geolocation -> latitude</h2>
  <p class="description">Повертає широту поточного місця користувача</p>
</header>
<main>
  <div class="result">
    <button id="get-location-btn">Отримати місцезнаходження</button>
    <label>
      <input type="checkbox" id="auto-update-toggle" />
      Автооновлення
    </label>
    <p id="latitude-display">Широта: <span id="latitude">--</span></p>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

button {
  font-size: 14px;
  padding: 10px;
  margin-top: 10px;
}

label {
  display: inline-block;
  margin-top: 15px;
  font-size: 14px;
}

p {
  margin-top: 15px;
  font-size: 16px;
}

JS

const latitudeDisplay = document.getElementById("latitude");
const autoUpdateToggle = document.getElementById("auto-update-toggle");
let watchId = null;

document.getElementById("get-location-btn").addEventListener("click", () => {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(
    position => {
      latitudeDisplay.textContent = position.coords.latitude.toFixed(6);
    },
    error => {
      alert("Не вдалося отримати геолокацію: " + error.message);
    });

  } else {
    alert("Геолокація не підтримується вашим браузером.");
  }
});

autoUpdateToggle.addEventListener("change", event => {
  if (event.target.checked) {
    if (navigator.geolocation) {
      watchId = navigator.geolocation.watchPosition(
      position => {
        latitudeDisplay.textContent = position.coords.latitude.toFixed(6);
      },
      error => {
        alert("Не вдалося оновити геолокацію: " + error.message);
      },
      { enableHighAccuracy: true, timeout: 5000 });

    }
  } else {
    navigator.geolocation.clearWatch(watchId);
    watchId = null;
  }
});
//# sourceURL=pen.js
автор: Bond

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

navigator.geolocation.getCurrentPosition((position) => {
 const latitude = position.coords.latitude;
 const distanceFromEquator = Math.abs(latitude * 111);
 console.log(`Ви знаходитесь приблизно за ${distanceFromEquator} км від екватора.`);
});
автор: Bond

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

navigator.geolocation.getCurrentPosition((position) => {
 const latitude = position.coords.latitude;
 console.log(`Ваше місце розташування у північній півкулі: ${latitude >= 0}`);
});
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід