Vuonna YUI 3 Galleria: Geo

06 toukokuu 2011 kello 16:46 Nicholas C. Zakas | In Development , YUI 3 Galleria | Comments Off

Geolocation on yksi jännittävä HTML5 liittyviä teknologioita näkyvät selaimissa ja Geo Galleria moduulin avulla voit käyttää sijaintitietoja. W3C Geolocation API tarjoaa yksinkertaisen käyttöliittymä käyttäjän sijainti JavaScript. Seuraava koodi pääsee käyttäjän nykyinen sijainti tukevan selaimen:

navigator.geolocation.getCurrentPosition(function(result) { //success handler }, function (result){ //failure handler }) 

Kun tämä koodi suoritetaan, selain aukaisee viestin, jossa kysytään käyttäjän lupaa paljastaa sijaintisi. Valintaikkuna näkyy Firefox näyttää tältä:

Geolocation dialogi Firefoxissa

Jos käyttäjä kieltää lupaa, tai tapahtuu virhe yrittää saada nykyisen sijainnin, ei ohjaajan nimi. Muuten menestys ohjaaja kutsutaan tietoja nykyisestä sijainnista. Tämä tieto tulee muodossa leveys-ja pituusaste (muita tietoja voi olla saatavilla myös riippuen toteutus).

W3C Geolocation API tukee Internet Explorer 9 +, Firefox 3.5 +, Safari 5 +, Chrome-ja Opera 10,6 sekä Mobile Safari ja WebKit Android, joten se on melko kaikkialla.

Geo moduuli käyttää Geolocation API kun se on saatavilla, ja putoaa takaisin IP-pohjaisen haun kautta YQL pidgets.geoip auki pöydälle, kun ei ole saatavilla tai jos on virhe. Tämä taulukko on erityisen hyödyllinen, koska voit lookup sijaintitiedot tietyn IP-osoitteen tai voit jättää pois IP-osoitteen ja se palauttaa sijaintitietojen IP tehdä pyynnön. Jälkimmäinen osa varmistaa, että sinun tarvitsee tehdä vain yksi toive saada sijaintitietoja kahden sijaan (muita ratkaisuja käyttää yhtä saada IP-osoitetta ja sitten yksi saada sijaintitietoja, että IP-osoite).

Tyypillisessä YUI tavalla Geo moduuli tarjoaa selkeän käyttöliittymän saatavuuden Geolocation tiedot. Sen sijaan, saadaan kaksi soittopyyntö toiminnot, yksi menestyksen ja yksi vika, vain kulkevat yhdessä. Tulos esine on success ominaisuus ilmoittaa, jos puhelu onnistui:

 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); } }); }); 

Kun Geolocation puhelu loppuun asti, success omaisuus on totta ja response.coords on täytetty vähintään kaksi kohdetta: latitude ja longitude (jos native API käytetään, niin kaikki käytettävissä olevat ominaisuudet kopioidaan tämän esineen). Myös source kiinteistö vastaus esine, joka on joko "natiivin", jos tieto on haettu syntyperäinen API, tai "pidgets.geoip", jos se noutaa YQL. Jos virhe tapahtuu, tai jos käyttäjä kieltäytyy antamasta sijaintitietoja, niin success on väärä.

Jos Geolocation API on virhe, Geo moduuli yrittää IP-pohjaisen haun sijaan. Jos kuitenkin käyttäjä kieltäytyy antamasta tietoja, IP-pohjainen haku ei suoriteta.

Muista, että syntyperäinen API on paljon tarkempi kuin IP paikalla, joten et saa samaa laatua tuloksista selaimissa ilman natiivi Geolocation tukea. Kuitenkin Geo moduuli on hyvä ensiaskel tarjoamaan sijaintiin perustuvia kokemuksia käyttäjille.

Jaa ja laajentaa: Kirjanmerkki suosikkeihisi Del.icio.us | Digg it! | reddit!

Ei vielä kommentteja

Anteeksi, kommentti lomake on suljettu tällä hetkellä.

Hosted by Yahoo!

Copyright © 2006-2012 Yahoo! Inc. Kaikki oikeudet pidätetään. Tietosuojakäytäntö - Käyttöehdot

Powered by WordPress on Yahoo! Web Hosting .