У HTML5 есть классная функция, которая обеспечивает геолокацию пользователя на лету без использования каких-либо дополнительных сервисов, которые мы делаем прямо сейчас. Эта функция поддерживается Gelocation API, который является частью HTML5.
Ниже приведен пример кода в JavaScript, как он работает.
<button onclick="getGeoLocation()">Get GeoLocation</button> <script> function getGeoLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition,HandleError); } else { alert("Geolocation is not supported by this browser."); } } function showPosition(position) { alert("Latitude: " + position.coords.latitude + " Longitude: " + position.coords.longitude); } </script>
Код работает в этом шаблоне.
- Сначала, когда пользователь нажимает на кнопку, он вызывает getGeoLocation
- В этой функции его первая проверка поддерживается navigator.geolocation или нет.
- Он вызывает встроенный метод JavaScript getCurrentPosition, который возвращает объект Postion.
- Этот объект Position используется showPostion для отображения широты и логики
Ниже приведена функция handleError, которая используется для обработки любой ошибки, которая может возникнуть при доступе к GeoLocation пользователя.
function handleError(error) { switch(error.code) { case error.PERMISSION_DENIED: alert("User denied the request for Geolocation."); break; case error.POSITION_UNAVAILABLE: alert("Location information is unavailable."); break; case error.TIMEOUT: alert("The request to get user location timed out."); break; case error.UNKNOWN_ERROR: alert("An unknown error occurred."); break; } }
Код функции объясняется данными значениями.
Обновление GeoLocation при перемещении с помощью watchPosition
Существует одна из функций, которая является частью Gelocation API, которая очень полезна для непрерывного обновления местоположения при перемещении пользователя из одного места в другое.
watchPosition — функция, которая используется для достижения вышеуказанной функции.
Чтобы увидеть , как это работает на самом деле просто заменить
getCurrentPosition функцию с
watchPosition .
Чтобы остановить обновления от
watchPosition, вы можете использовать
clearWatch () API.
Положение объекта
Оба метода возвращают объект Postion в качестве вывода. Ниже приведен список свойств, которые являются частью объекта позиции.
coords.latitude | Широта как десятичное число |
coords.longitude | Долгота в виде десятичного числа |
coords.accuracy | Точность положения |
coords.altitude | Высота в метрах над средним уровнем моря |
coords.altitudeAccuracy | Высотная точность положения |
coords.heading | Направление в градусах по часовой стрелке от севера |
coords.speed | Скорость в метрах в секунду |
отметка времени | Дата / время ответа |