V Yui 3 Galerie: Geo
06.05.2011 v 4:46 hodin Nicholas C. Zakas | V rozvoji a Yui 3 Galerie | Komentáře VypnutoGeolokace je jedním z více vzrušujících HTML5 technologií spojených se objevit v prohlížečích a Geo Galerie modul umožňuje přístup k informací o poloze. W3C Geolokace API poskytuje jednoduché rozhraní pro přístup polohu uživatele z JavaScriptu. Následující kód přistupuje uživatele aktuální polohu ve vedlejší prohlížeči:
navigator.geolocation.getCurrentPosition(function(result) { //success handler }, function (result){ //failure handler }) Při spuštění tohoto kódu, prohlížeč zobrazí zprávu s dotazem, za souhlasu uživatele odhalit svou aktuální polohu. Zobrazí se dialog ve Firefoxu vypadá takto:

Pokud uživatel popírá oprávnění, nebo dojde k chybě při pokusu získat aktuální polohu, se nazývá porucha psovod. V opačném případě je úspěch obslužná rutina s informací o aktuální poloze. Tato informace přichází v podobě zeměpisných souřadnic (další informace mohou být k dispozici také, v závislosti na implementaci).
W3C Geolokace API je podporována v aplikaci Internet Explorer 9 +, Firefox 3.5 +, Safari 5 +, Chrome a Opera 10.6 a Safari pro mobilní telefony a WebKit pro Android, což je poměrně všudypřítomný.
Modul Geo používá Geolocation API, když je k dispozici, a použije se na bázi protokolu IP vyhledávání přes YQL pidgets.geoip otevřené tabulky, když není k dispozici nebo pokud je chyba. Tato tabulka je mimořádně užitečné, protože můžete vyhledání informací o poloze pro konkrétní IP adresu, nebo můžete vynechat IP adresu a vrátí informace o poloze pro IP adresu, která žádost podala. Druhá část zajišťuje, že budete muset podat pouze jednu žádost získat informace o místě, místo dvou (jiné řešení použít jednu získat IP adresu a pak jeden získat informace o umístění pro dané IP adresy).
V typické módě Yui, modul Geo nabízí moderní grafické rozhraní pro přístup k Geolocation informace. Místo poskytnutí dvě funkce zpětného volání, jeden pro a jeden úspěch za selhání, stačí zadat v jednom. Výsledek objekt má success vlastnost uvedeno, zda volání bylo úspěšné:
YUI({ gallery: 'gallery-2011.04.27-17-14' }).use('gallery-geo', function(Y) { Y.Geo.getCurrentLocation(function(response){ //check to see if it was successful if (response.success){ console.log(response.coords.latitude); console.log(response.coords.longitude); } }); }); Když Geolokace volání úspěšně dokončí, success vlastnost je pravdivé a response.coords je naplněna alespoň dvě vlastnosti: latitude a longitude (je-li nativní API je používán, pak všechny dostupné vlastnosti jsou zkopírovány do tohoto objektu). K dispozici je také source majetku na odpověď objektu, který je buď "nativní", pokud by informace byly získány z nativního API, nebo "pidgets.geoip", pokud byl načten YQL. Pokud dojde k chybě, nebo pokud uživatel odmítne poskytnout informace o poloze, pak success , je falešný.
Pokud Geolokace API má chybu, zkuste modul Geo IP založenou na vyhledávání místo. Pokud však uživatel odmítne poskytnout informace, je na bázi IP vyhledávání neprovádí.
Mějte na paměti, že nativní API je mnohem přesnější než IP místě, takže nebudete mít stejně kvalitních výsledků v prohlížečích bez nativní podpory Geolocation. Nicméně modul Geo je dobrý první krok k poskytování založené na zjištění polohy zážitky uživatelů.
Sdílet a rozšiřovat: Záložka se Del.icio.us | Digg to! | reddit!
Zatím bez komentáře
Omlouváme se, ale komentář formulář uzavřen v této době.

Copyright © 2006-2012 Yahoo! Inc Všechna práva vyhrazena. Ochrana osobních údajů - Podmínky služby
Powered by WordPress na Yahoo! Web Hosting .
