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