Геолокация — это веб-API в соответствии со стандартом HTML5. Его можно использовать для получения информации о текущем местоположении (координатах) устройства. Этот API имеет три метода: getCurrentPosition, watchPosition иclearWatch. Наиболее часто используемый метод — getCurrentPosition. оставшиеся два метода требуют использования вместе!
Как использовать:Проверка совместимости браузера:
API публикуется через объект navigator.geolocation. Только если этот объект существует, можно использовать его службу геолокации. Метод обнаружения следующий:
if (navigator.geolocation) { // Здесь написан код позиционирования} else { alert('Геолокация не поддерживается в вашем браузере')}
Получить текущее местоположение пользователя:
Используйте метод getCurrentLocation для получения информации о местоположении пользователя. Этот метод имеет три параметра:
Список параметров | тип | иллюстрировать |
handleSuccess | Функция | Вызов функции handleSuccess в случае успеха |
handleError | Функция | Вызов функции handleError при ошибке |
параметры | Объект | Параметры инициализации |
// Параметры инициализации const options = { // Высокая точность: true/false EnableHighAccuracy: true, // Максимальное время ожидания ответа, единица измерения: миллисекунды, timeout: 5 * 1000, // Самая длинная ячейка кэша, которую приложение готово принять Время MaximumAge: 0}// Функция обратного вызова при ошибке: данные содержат информацию о местоположении const handleSuccess = data => console.log(data)// Функция обратного вызова при ошибке: ошибка содержит информацию об ошибке const handleError = error => console.log(error)if (navigator.geolocation) { // Здесь записан код позиционирования navigator.geolocation.getCurrentPosition(handleSuccess, handleError, options)} else { alert('Геолокация не поддерживается в вашем браузере') }
Вот код с более подробной информацией:
const handleSuccess = data => { const { coords, // Временная метка информации о местоположении // Временная метка, когда информация о местоположении успешно получена} = data const { точность, // Точность возвращаемого результата (в метрах) высота, // Относительно горизонтали plane Altitude heightAccuracy, // Возвращает заголовок с точностью высоты (в метрах), // Направление движения главного устройства по часовой стрелке от северной широты, // Широта, долгота, // Скорость по долготе // Скорость движения устройства} = координаты // Распечатайте и посмотрите console.log('timestamp =', timestamp) console.log('accuracy =', точность) console.log('altitude =', height) console .log('altitudeAccuracy =', heightAccuracy) console.log('heading =', heading) console.log('latitude =', latitude) console.log('longitude =', longitude) console.log('speed =', скорость)}const handleError = error => { switch (error.code) { case 1: console.log('Запрос службы определения местоположения отклонен') прерывать случай 2: console.log(' информацию о местоположении невозможно получить временно') Break Case 3: console.log('Тайм-аут для получения информации') Break Case 4: console.log('Неизвестная ошибка') Break }}const opt = { // Высокая точность: true/false EnableHighAccuracy: true, // Максимальное время ожидания ответа Единица измерения: тайм-аут в миллисекундах: 5 * 1000, // Максимальный возраст местоположения кэша, который приложение готово принять MaximumAge: 0} if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(handleSuccess , handleError, opt) } else { alert('Ваш браузер не поддерживает геолокацию')}
Выше приведено все содержание этой статьи. Я надеюсь, что она будет полезна для изучения всеми. Я также надеюсь, что все поддержат сеть VeVb Wulin.