Главная

Thursday, 12 November 2015

Пример Geolocation API и эмулятора geo-данных.

Всем привет! 

Вы же помните что я затрагивал тему геолокации годик тому. Тогда речь шла о том как Google собирает данные про WiFi роутерах, которые сейчас стоят чуть ли не в каждом доме.

А сегодня я хочу рассказать про геолокацию с точки зрения web-разработчика - получение местоположения пользователя который зашел на ваш сайт, то есть географических координат: ширину и долготу. Эти данные можно получить из браузера пользователя, используя Geolocation API (ссылка на спецификацию). Браузеру эти данные доступны из разных источников: IP адрес, GPS датчик устройства, WiFi и Bluetooth MAC адреса и через GSM вышки для мобильных устройств (А-GPS). Геолокационные данные - это приватные данные, поэтому они не доступны пока пользователь не даст разрешение на их использование. Вы можете увидеть пример работы этого API, для этого нажмите кнопку ниже.




Посмотрите исходный код этой страницы для того, чтобы увидеть как это все работает  - блок function getLocation. При нажатии на кнопку идет проверка поддерживает ли Ваш web-браузер функцию геолокации. Если да, то вызывается функция из API getCurrentPosition с двумя параметрами: первый - имя функции, которая будет вызвана при успешном получении данных, второй - имя функции, которая будет вызвана при ошибке (например, пользователь запретил доступ к данным и т.п.). При успешном исходе нам будут доступны географическая широта и долгота (например, «50.4501, 30.5234»).




Возможен случай что вы дали разрешение, но браузер не справился с получением гео-данных.
В это случае для проверки кода нам поможет инструмент "Средства разработчика" от того же Google Chrome. Демо в ролике ниже.



Где использовать эти данные? 

Вариантов масса: построение маршрута проезда к Вашему офису; для показа, что находится рядом; для поиска ближайшего заведения; для определения города пользователя и даже адреса, используя обратное гео-кодирование в Google Maps API - все зависит от бизнес-логики вашего приложения или web-сайта.

Какие web-браузеры поддерживают геолокационное API?

Это IE 9+, Firefox 3.5+, Chrome 5.0+, Safari 5.0+ and Opera 10.6+. Из мобильных девайсов - iPhone 3.0+ и Android 2.0+ (для мобильных устройств с GPS-датчиком данные будут самые точные).

Оригинал статьи здесь http://olefirenko.net/geolocation-html5/

No comments:

Post a Comment

А что вы думаете по этому поводу?