Получаем координаты используя HTML5 Geolocation API

Небольшая заметка с примерами использования возможностей геолокации современных браузеров.

Все что нас интересует происходит с объекте navigator.geolocation, поэтому чтобы проверить поддерживает ли браузер данную возможность можно выполнить следующий код:

if ("geolocation" in navigator) {
  /* geolocation поддерживается */
} else {
  /* geolocation НЕ поддерживается */
}

Для получения текущего местоположения используется метод navigator.geolocation.getCurrentPosition() имеющий следующий синтаксис:

getCurrentPosition(success, error, options)

где

success - колбэк на успешное получение координат
error - колбэк обработки ошибки
options - опции

Самый простой пример получения координат:

navigator.geolocation.getCurrentPosition(function(position) {
  console.log(position.coords.latitude, position.coords.longitude);
});

Пример на jsfiddle.

Также объект geolocation содержит метод watchPosition(), который устанавливает хэндлер на событие изменения локации. Принимает параметры аналогичные параметрам метода getCurrentPosition().

Еще один пример с использованием google maps.

 

Полезные ссылки:

HTML5 Geolocation API(Presentation from HTML5 Camp)

Using geolocation

The Geolocation API