Geolokace

24. 8. 2012 Ostatní

Geolokace je služba, která umožňuje zjistit zeměpisné souřadnice místa, kde se uživatel aktuálně nachází. Největší význam má tato služba pro mobilní zařízení, ale její využití najdeme i u stolních počítačů. Vzpomeňme na navigační zařízení v našem autě, nebo na funkci „Zjistit mojí polohu“ v Google mapách – obojí geolokaci využívá.
Zjištěné souřadnice se skládají ze zeměpisné délky a šířky, někdy také doplněné o nadmořskou výšku. Souřadnice se vztahují k nultému poledníku, který se nachází v Greenwich a dále pak k rovníku. Umožňují tak zaměřit jakékoliv místo na planetě pomocí dvou čísel.

Geolokace v prostředí Internetu

Geolokaci využijeme všude tam, kde potřebujeme znát polohu uživatele, nebo pokud chceme uživateli nabídnout určitou funkci, která zpříjemní používání naší aplikace. Pomocí polohy můžeme filtrovat nejblíže umístěné prodejny, zobrazovat nejkratší trasu do naší restaurace nebo vytvořit službu, která bude zaznamenávat trasu, kterou uživatel zdolal, včetně času a rychlosti.
Jako nejznámější aplikace pracující s polohou uživatele bychom mohli uvést:

  • Google Mapy – zobrazení aktuální polohy, navigace, zobrazení nejbližších bodů (kaváren, dopravních zastávek)
  • RunKeeper/Endomondo – sportovní aplikace pro záznam trasy, ať už jedeme na kole nebo běháme
  • Foursquare – sociální síť zaměřená na záznam významných míst a jejich polohy, ať už jde o restaurace nebo o kostely, sportovní stadiony a další

Technické pozadí

Rozhraní geolokace je nově součástí specifikace HTML5. Cílem je, aby vaší polohu dokázal zjistit prohlížeč samostatně, bez podpory doplňků třetích stran. Aktuálně je geolokace podporována všemi novějšími prohlížeči, u Internet Explorer bohužel až od verze 9. Zjištění polohy je nutno vždy povolit, prohlížeč tak vaší polohu neodesílá automaticky.
Geolokační rozhraní je pro vývojáře dostupné pomocí JavaScriptu a jeho podporu lze ověřit knihovnou Modernizr. V případě, že není geolokace podporována, lze tuto funkcionalitu skrýt, nebo využít doplněk prohlížeče, jako je třeba Google Gears.
Rozhraní podporuje dva druhy dotazů:

  • jednorázový – vhodné pro zjištění aktuální polohy, která je víceméně neměnná, třeba pro zobrazení nejbližších bankomatů v okolí
  • opakovaný – vhodné pro navigace, které potřebují znát průběžnou polohu

K dispozici je několik knihoven, které vytváří abstrakci nad vlastním rozhraním, zjištění polohy je pak opravdu hračka, stačí tak zavolat příslušnou funkci, která vrátí aktuální polohu nebo chybovou zprávu.

Odkud se poloha získá?

Aktuální poloha lze získávat několika způsoby, kde každý má své výhody a nevýhody.

  1. Podle IP adresy – jedná se o nejrychlejší, ale také nejméně přesnou polohu. Ve většině případů se zobrazí poloha vašeho poskytovatele internetového připojení, což může být pro pražského uživatele i 200 km vzdálené Brno.
  2. Pomocí mobilní sítě – funguje na bázi triangulace od nejbližších několika vysílačů. Pro každý vysílač je totiž poloha známá. Tato metoda je poměrně přesná a funguje nejlépe v oblasti, kde je hodně mobilních stanic.
  3. Pomocí Wi-Fi sítí – opět na základě triangulace, ale pouze v oblastech, kde je husté pokrytí Wi-Fi sítěmi.
  4. Pomoc GPS – nejpřesnější, ale také nejpomalejší metoda, která má rovněž největší energetickou náročnost. Využívá se přímo GPS senzoru a přístroj jím musí být vybaven. Také musí mít přístroj přímý výhled na oblohu, protože se využívá GPS satelitů, které se nachází na oběžné dráze.

Ukázka použití

Podporu geolokace jsme se rozhodli použít i u našeho projektu Tonovani-autoskel.eu, který slouží jako katalog dodavatelů tónování autoskel. U každého dodavatele je mimo jiné zaznamenána poloha jeho provozovny. Je tak na místě, poskytnout uživateli možnost zobrazit si všechny dodavatele přehledně na mapě, případně zobrazit pouze ty, které se nachází v jeho okolí.

Pro zobrazení seznamu nejbližších provozoven využíváme právě geolokaci, kterou lze aktivovat pomocí odkazu umístěném vpravo nad mapou. Kliknutím na odkaz dojde k načtení polohy uživatele a zobrazení okolí 25km včetně ikonek dodavatelů.

Máte-li zájem o využití této velmi zajímavé funkce na své webové prezentaci, kontaktujte nás!