Spec-Zone.ru › Web APIs

Геолокация: метод getCurrentPosition()

Базовая Широко распространена

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Метод getCurrentPosition() интерфейса Geolocation используется для получения текущего местоположения устройства.

Обратите внимание, что помимо требования безопасного контекста, эта функция может быть заблокирована geolocation Permissions-Policy, а также требует явного разрешения пользователя. При необходимости пользователь будет запрошен при вызове этого метода. Состояние разрешения можно запросить с помощью geolocation разрешения пользователя в API разрешений.

Синтаксис

getCurrentPosition(success)
getCurrentPosition(success, error)
getCurrentPosition(success, error, options)

Параметры

success

Функция обратного вызова, которая принимает объект GeolocationPosition в качестве единственного входного параметра.

error Необязательно

Необязательная функция обратного вызова, которая принимает объект GeolocationPositionError в качестве единственного входного параметра.

options Необязательно

Необязательный объект, содержащий следующие параметры:

maximumAge Необязательно

Положительное long значение, указывающее максимальный срок хранения возможного кэшированного местоположения в миллисекундах, которое приемлемо для возврата. Если установлено значение 0, это означает, что устройство не может использовать кэшированное местоположение и должно попытаться получить реальное текущее местоположение. Если установлено значение Infinity, устройство должно вернуть кэшированное местоположение независимо от его возраста. По умолчанию: 0.

timeout Необязательно

Положительное long значение, представляющее максимальное время (в миллисекундах), которое устройство может потратить на возврат местоположения. Значение по умолчанию: Infinity, что означает, что getCurrentPosition() не вернется до тех пор, пока местоположение не будет доступно.

enableHighAccuracy Необязательно

Булево значение, указывающее, что приложение хочет получить лучшие возможные результаты. Если true, и если устройство способно предоставить более точное местоположение, оно это сделает. Обратите внимание, что это может привести к более медленной скорости ответа или увеличению энергопотребления (например, с GPS-чипом на мобильном устройстве). С другой стороны, если false, устройство может позволить себе экономить ресурсы, отвечая быстрее и/или потребляя меньше энергии. По умолчанию: false.

Возвращаемое значение

Нет (undefined).

Примеры

const options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0,
};

function success(pos) {
  const crd = pos.coords;

  console.log("Your current position is:");
  console.log(`Latitude : ${crd.latitude}`);
  console.log(`Longitude: ${crd.longitude}`);
  console.log(`More or less ${crd.accuracy} meters.`);
}

function error(err) {
  console.warn(`ERROR(${err.code}): ${err.message}`);
}

navigator.geolocation.getCurrentPosition(success, error, options);

Спецификации

Спецификация
Геолокация
# getcurrentposition-method

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
getCurrentPosition 5 12 3.5 10.6 5 18 4 11 ≤3 1.0 ≤37

См. также

  • Использование API геолокации
  • Navigator.geolocation

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API