Небольшая заметка с примерами использования возможностей геолокации современных браузеров.
Все что нас интересует происходит с объекте 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.
Полезные ссылки: