Геолокация: метод 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 |
См. также
© 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