Геолокация

Автор: Евгений Рыжков и Татьяна Головко Дата публикации: 09.03.2011

Геолокация — это искусство определения местоположения пользователя в мире и (опционально) обмен информацией с людьми, которым ты доверяешь. Есть много способов определить, где ты находишься — твой IP адрес, твое подключение к беспроводной сети, которое сообщит расположение твоего телефона или твое GPS оборудование, которое подскажет спутникам твои координаты.

В: Геолокация — это часть HTML5? Почему ты пишешь об этом?

О: Поддержка геолокации внедряется сейчас, вместе с новыми возможностями HTML5. Стандарт геолокации был разработан Geolocation Working Group, отдельно от группы, которая разрабатывала HTML5 (HTML5 Working Group). Но я затронул тут эту тему, потому что это эволюция Веб, которая происходит прямо сейчас.

Поддержка данной возможности определятся приемом №1, описанным ранее. Если браузер поддерживает API геолокации, тогда будет доступно свойство geolocation глобального объекта navigator.

function supports_geolocation() {
return !!navigator.geolocation;
}

Вместо того чтобы писать эту функцию самостоятельно, вы можете использовать Modernizr:

if (Modernizr.geolocation) {
// Давай определим, где ты!
} else {
// встроенная поддержка геолокации отсутствует :(
// наверное, придется использовать Gears или другое решение от сторонних разработчиков
}

Если у твоего браузера нет встроенной поддержки геолокации, то еще не все потеряно. Gears — плагин от Google, который наделяет многими модными способностями старые браузеры. Одна из таких — это определение географического положения (Gears Geolocation API). Это, конечно, не то же самое, что navigator.geolocation API, но служит для тех же целей. Работает под Windows, Mac, Linux, Windows Mobile и Android.

Существуют так же специфические для определенных устройств геолокационные API, которые присутствуют на некоторых мобильных платформах вроде BlackBerry, Nokia, Palm, и OMTP BONDI.

К этим возможностям мы еще вернемся.

Куда дальше