Práce se senzory v aplikacích pro Windows Store v HTML5

V posledním díle seriálu o aplikacích pro Windows Store v HTML5 se budeme věnovat práci se senzory. Zaměříme se na geografickou polohu, světlo a akcelerometr.
Seriál: Aplikace pro Windows Store v HTML5 (6 dílů)
- Začínáme psát aplikace pro Windows Store v HTML5 5. 4. 2013
- Ovládací prvky specifické pro Windows Store aplikace a PLM 12. 4. 2013
- Vícestránkové Windows Store aplikace a navigace 19. 4. 2013
- Aplikace pro Windows Store v HTML5 – kontrakty 26. 4. 2013
- Dlaždice a oznámení aplikací pro Windows Store v HTML5 17. 5. 2013
- Práce se senzory v aplikacích pro Windows Store v HTML5 24. 5. 2013
Nálepky:
Windows 8 obsahují velmi dobrou senzorovou platformu. Samozřejmě záleží na tom, jak dobře máte vybavené zařízení a jaké fyzické senzory máte k dispozici. Kromě fyzických senzorů máte k dispozici celou řadu senzorů virtuálních. Tyto senzory většinou konsolidují informace z několika fyzických senzorů nebo využívají jiné metody. Typickým virtuálním senzorem je senzor geografické polohy.
Geografická poloha
Jedná se vlastně o virtuální senzor, který nepotřebuje fyzický senzor, GPS, aby určil vaši geografickou polohu. K určení geografické polohy se využívá, kromě GPS, také Wifi a GSM síť. Samozřejmě s GPS bude vaše poloha určena nejpřesněji. Přístup ke geografické poloze musíte povolit v package.appxmanifest
.
Windows.Devices.Geolocation.Geolocator().onpositionchanged = function (e) {
location.innerText = e.position.coordinate.latitude + ", " + e.position.coordinate.longitude;
};
Pokud používáte fyzickou GPS, tak je vhodné nastavit vlastnost movementThreshold
na hodnotu v metrech, která je minimálně tak velká, jako je přesnost GPS. Jinak se bude událost positionchanged
, díky chybě GPS, generovat neustále.
Světlo
Senzor měřící hladinu osvětlení je další s často používaných senzorů. Tento senzor se zejména používá pro změnu barevného schématu aplikace podle světelných podmínek, např. aby aplikace uživatele neoslňovala, pokud pracuje ve tmě.
var l = Windows.Devices.Sensors.LightSensor.getDefault();
if (l !== null) {
l.onreadingchanged = function (e) {
light.innerText = e.reading;
};
}
POZOR! U většiny senzorů musíte testovat, zda je senzor k dispozici.
Akcelerometr
Tento senzor je oblíbený zejména u her, kdy se používá k ovládání hry. Akcelerometr je také často používán u virtuálních senzorů jako je SimpleOrientationSensor
.
Další senzory
Více informací o podporovaných senzorech najdete v dokumentaci k jmennému prostoru Windows.Devices.Sensors
.
Slovo na závěr
V tomto krátkém seriálu jsme se vám snažil přiblížit některé odlišnosti mezi vývojem webových aplikací a Windows Store aplikací. Co dál? Přečtěte si knížku Programming Windows 8 Apps with HTML, CSS, and JavaScript, která je v elektronické podobě zdarma. Plno informací najdete také na stránkách Windows Dev Center.
Pokud budete mít dotazy ohledně vývoje aplikací pro Windows Store, tak nás kontaktujte přes MSDN Blog. Pomůžeme vám. Nebo přijďte na některou z našich akcí pro vývojáře, kde vám rád pomůžu a zodpovím vaše otázky osobně.