W3C API geolokacija

S Vikipedije, slobodne enciklopedije

W3C API geolokacija predstavlja pokušaj WWW Konzorcijuma (W3C) da standardizuje interfejs kojim bi se dobile informacije o geografskoj lokaciji uređaja s klijentske strane.[1] Ona definiše skup objekata, kompatibilnih sa ECMAScript standardom, koji tokom izvršavanja na klijentskoj aplikaciji šalje lokaciju klijentskog uređaja putem dogovora sa serverom koji sadrži informacije o lokaciji, a koje su transparentne za aplikativni programski interfejs (API). Najčešći izvor informacija o lokaciji predstavljaju IP adrese, Wi-Fi i Blutut MAC adresa, identifikacija putem radio-frekvencija (RFID), lokacija Wi-Fi konekcije ili uređaja koji se koristi globalnim pozicionim sistemom (GPS) i GSM/CDMA identifikatorom ćelije. Lokacija se vraća sa datom tačnošću u zavisnosti od toga koji je najbolji izvor informacije o lokaciji dostupan.

Raspoređivanje u pregledačima Veba[uredi | uredi izvor]

Veb strane mogu da koriste API geolokacije direktno ukoliko je pregledač veba primenjuje. U prošlosti, neki pregledači su mogli da ostvare takvu podršku pomoću Google gears dodataka, ali je to ukinuto 2010. godine, a API sa serverske strane od koga je dodatak zavisio, prestao je da odgovara 2012. godine.[2][3]

API geolokacija savršeno odgovara veb aplikacijama za mobilne uređaje kao što su personalni digitalni pomoćnik (PDA) i pametni telefoni. Na desktop računarima, W3C API geoloakcija radi na sledećim pregledačima veba: Firefox počev od verzije 3.5, Google Chrome[4] Opera 10.6. Internet Explorer 9.0[5] Internet Explorer 9.0,[6] Safari 5. Na mobilnim uređajima, API geolokacija radi na Androidu (firmver 2.0+), iOS, Windows Phone i Maemo. Geolokacija takođe podržava i Opera Mobile 10.1 – dostupna za Androidi Symbian uređaje (S60 generacije 3 & 5) od 24. novembra 2010. godine.[7]

Softver Google Gears je obezbedio podršku za geolokaciju za starije i nekompatibilne pregledače veba, uključujući Internet Explorer 7.0+ kao Gears priključak i za Google Chrome za koji je Gears primenjen tokom razvijanja samog pregledača. Takođe je podržana geolokacija na mobilnim uređajima kao priključak za Android pregledač (ranija verzija 2.0) i Opera Mobile]] za Windows mobilne uređaje. Međutim, Google Gears API geolokacija nije kompatibilna sa W3C API geolokacijom i više nije podržana.

Karakteristike[uredi | uredi izvor]

Rezultat W3C API Geolokacija obično daje 4 svojstva lokacije, uključujući geografsku širinu i dužinu (koordinate), visinu i tačnost prikupljenih podataka o lokaciji.

Primena[uredi | uredi izvor]

Iako primena nije naznačena, W3C API geolokacija je kreirana na postojećim tehnologijama, a na nju je naročito uticala Google Gears API geolokacija. Primer: Geolokacija koju primenjuje Firefox koristi Google provajder mrežne lokacije.[8][9]

Google Gears geolokacija radi tako što šalje skup parametara koji mogu dati naznaku o tome gde je korisnikova fizička adresa na server provajdera lokacije mreže, što je standardno ona koju pruža Google (code.l.google.com).[10] Neki od parametara su i liste baznih stanica mobilne telefonije i Wi-Fi mreže, sve sa osetno jakim signalima. Ovi parametri nalaze se unutar JavaScript Object Notation (JSON) poruke koja se šalje na lokaciju mrežnog provajdera putem HTTP POST metode. Pomoću ovih parametara, provajder lokacije mreže može da izračuna lokaciju. Obično se informacija o lokaciji koristi za sprovođenje kontrole pristupa, lokalizacije i prilagođavanje sadržaja, analize saobraćaja, dodatnog oglašavanja i sprečavanje krađe identiteta.[11]

Primer koda[uredi | uredi izvor]

Jednostavan Javaskript kod koji proverava da li pregledač poseduje API geolokaciju da bi je potom koristio za dobijanje trenutne pozicije uređaja. Ovaj kod kreira funkcija koja se može pozvati u okviru HTML korišćenjem <body onload="geoFindMe()">:

function geoFindMe() {
    if(navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(success, error, geoOptions);
    } else {
        alert("Geolocation services are not supported by your web browser.");
    }
}

function success(position) {
    var latitude = position.coords.latitude;
    var longitude = position.coords.longitude;
    var altitude = position.coords.altitude;
    var accuracy = position.coords.accuracy;
    alert("lat: " + latitude + " long: " + longitude);
}

function error(error) {
    alert("Unable to retrieve your location due to " + error.code + ": " + error.message);
}

var geoOptions = {
    enableHighAccuracy: true,
    maximumAge: 30000,
    timeout: 27000
};

Vidi još[uredi | uredi izvor]

Reference[uredi | uredi izvor]

  1. ^ Popescu, Andrei (editor, Google Inc.). „Geolocation API Specification: W3C Recommendation 24 October 2013”. W3C. Pristupljeno 4. 02. 2016. 
  2. ^ „Geolocation API: Gears API: Google Code”. 9. 07. 2009. 
  3. ^ GeolocationAPI - gears - Provides the geolocation of a device running a Gears-enabled web browser. - Improving Your Web Browser - Google Project Hosting. Code.google.com. Retrieved on 2014-06-01.
  4. ^ „A new Chrome stable release: Welcome, Mac and Linux!”. 25. 05. 2010. 
  5. ^ Kleinhout, Huib (1. 07. 2010). „Opera 10.60 goes final”. My Opera. Opera Software. Pristupljeno 2. 07. 2010. 
  6. ^ „W3C Geolocation API in IE9”. 
  7. ^ Opera.com (25. 11. 2010). „Opera Mobile 10.1 for Nokia smartphones goes final”. Arhivirano iz originala 23. 02. 2013. g. Pristupljeno 12. 05. 2016. 
  8. ^ „Location-Aware Browsing”. Mozilla Firefox. Mozilla. 
  9. ^ „Geolocation API Network Protocol: Gears API”. Google Code. Google. Pristupljeno 8. 08. 2011. 
  10. ^ „WebScanNotes.com: W3C Geolocation API”. WebScanNotes.com. Arhivirano iz originala 06. 03. 2012. g. Pristupljeno 12. 05. 2016. 
  11. ^ King, Kevin F. (8. 06. 2010). „Personal Jurisdiction, Internet Commerce, and Privacy: The Pervasive Legal Consequences of Modern Geolocation Technologies”. 
  1. How to Implement a W3C Geolocation API in Javascript
  2. Where Am I - an W3C Geolocation displayed on Google Maps

Spoljašnje veze[uredi | uredi izvor]