В предыдущей заметке мы рассмотрели возможность получения геоданных пользователя по IP-адресу на стороне сервера.
С помощью нативных средств HTML5 на стороне клиентского приложения тоже можно работать с геолокацией пользователя.
Такое взаимодействие требует соблюдения ряда условий: https-соединение и обязательное согласие пользователя на передачу своих геоданных через диалоговое окно браузера. Последнее принуждает посетителя производить действие по согласию или отказу, заставляя задуматься, стоит ли передавать сайту такую информацию.
Если такое поведение приемлемо, то работать с геоданными в JavaScript можно через метод
getCurrentPosition() свойства geolocation объекта navigator.API предусматривает тонкую конфигурацию запроса с целью повлиять на его производительность. Управлять можно приоритетом точности
options.enableHighAccuracy, кешированием определенных ранее геоданных options.maximumAge и максимальным временем выполнения запроса options.timeout.Пример работы с API можно посмотреть в сниппете.