Статьи

GeoLocation API в HTML5


У 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>

Код работает в этом шаблоне.

  1. Сначала, когда пользователь нажимает на кнопку, он вызывает getGeoLocation
  2. В этой функции его первая проверка  поддерживается navigator.geolocation или нет.
  3. Он вызывает встроенный метод JavaScript getCurrentPosition, который возвращает объект Postion.
  4. Этот объект 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 Скорость в метрах в секунду
отметка времени Дата / время ответа