W3C API геолокација
W3C АПИ геолокација представља покушај WWW Конзорцијума (W3C) да стандардизује интерфејс којим би се добиле информације о географској локацији уређаја с клијентске стране.[1] Она дефинише скуп објеката, компатибилних са ECMAScript стандардом, који током извршавања на клијентској апликацији шаље локацију клијентског уређаја путем договора са сервером који садржи информације о локацији, а које су транспарентне за апликативни програмски интерфејс (АПИ). Најчешћи извор информација о локацији представљају IP адресе, Wi-Fi и Блутут MAC адреса, идентификација путем радио-фреквенција (RFID), локација Wi-Fi конекције или уређаја који се користи глобалним позиционим системом (ГПС) и ГСМ/CDMA идентификатором ћелије. Локација се враћа са датом тачношћу у зависности од тога који је најбољи извор информације о локацији доступан.
Распоређивање у прегледачима Веба
уредиВеб стране могу да користе АПИ геолокације директно уколико је прегледач веба примењује. У прошлости, неки прегледачи су могли да остваре такву подршку помоћу Google gears додатака, али је то укинуто 2010. године, а АПИ са серверске стране од кога је додатак зависио, престао је да одговара 2012. године.[2][3]
АПИ геолокација савршено одговара веб апликацијама за мобилне уређаје као што су персонални дигитални помоћник (ПДА) и паметни телефони. На десктоп рачунарима, W3C АПИ геолоакција ради на следећим прегледачима веба: Firefox почев од верзије 3.5, Google Chrome[4] Opera 10.6. Internet Explorer 9.0[5] Internet Explorer 9.0,[6] Safari 5. На мобилним уређајима, АПИ геолокација ради на Андроиду (фирмвер 2.0+), iOS, Windows Phone и Maemo. Геолокација такође подржава и Opera Mobile 10.1 – доступна за Андроиди Symbian уређаје (С60 генерације 3 & 5) од 24. новембра 2010. године.[7]
Софтвер Google Gears је обезбедио подршку за геолокацију за старије и некомпатибилне прегледаче веба, укључујући Internet Explorer 7.0+ као Gears прикључак и за Google Chrome за који је Gears примењен током развијања самог прегледача. Такође је подржана геолокација на мобилним уређајима као прикључак за Андроид прегледач (ранија верзија 2.0) и Opera Mobile]] за Windows мобилне уређаје. Међутим, Google Gears API геолокација није компатибилна са W3C АПИ геолокацијом и више није подржана.
Карактеристике
уредиРезултат W3C API Геолокација обично даје 4 својства локације, укључујући географску ширину и дужину (координате), висину и тачност прикупљених података о локацији.
Примена
уредиИако примена није назначена, W3C АПИ геолокација је креирана на постојећим технологијама, а на њу је нарочито утицала Google Gears АПИ геолокација. Пример: Геолокација коју примењује Firefox користи Google провајдер мрежне локације.[8][9]
Google Gears геолокација ради тако што шаље скуп параметара који могу дати назнаку о томе где је корисникова физичка адреса на сервер провајдера локације мреже, што је стандардно она коју пружа Google (code.l.google.com).[10] Неки од параметара су и листе базних станица мобилне телефоније и Wi-Fi мреже, све са осетно јаким сигналима. Ови параметри налазе се унутар JavaScript Object Notation (JSON) поруке која се шаље на локацију мрежног провајдера путем HTTP POST методе. Помоћу ових параметара, провајдер локације мреже може да израчуна локацију. Обично се информација о локацији користи за спровођење контроле приступа, локализације и прилагођавање садржаја, анализе саобраћаја, додатног оглашавања и спречавање крађе идентитета.[11]
Пример кода
уредиЈедноставан Јаваскрипт код који проверава да ли прегледач поседује АПИ геолокацију да би је потом користио за добијање тренутне позиције уређаја. Овај код креира функција која се може позвати у оквиру HTML коришћењем <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
};
Види још
уредиРеференце
уреди- ^ Popescu, Andrei (editor, Google Inc.). „Geolocation API Specification: W3C Recommendation 24 October 2013”. W3C. Приступљено 4. 02. 2016.
- ^ „Geolocation API: Gears API: Google Code”. 9. 07. 2009.
- ^ 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.
- ^ „A new Chrome stable release: Welcome, Mac and Linux!”. 25. 05. 2010.
- ^ Kleinhout, Huib (1. 07. 2010). „Opera 10.60 goes final”. My Opera. Opera Software. Приступљено 2. 07. 2010.
- ^ „W3C Geolocation API in IE9”.
- ^ Opera.com (25. 11. 2010). „Opera Mobile 10.1 for Nokia smartphones goes final”. Архивирано из оригинала 23. 02. 2013. г. Приступљено 12. 05. 2016.
- ^ „Location-Aware Browsing”. Mozilla Firefox. Mozilla.
- ^ „Geolocation API Network Protocol: Gears API”. Google Code. Google. Приступљено 8. 08. 2011.
- ^ „WebScanNotes.com: W3C Geolocation API”. WebScanNotes.com. Архивирано из оригинала 06. 03. 2012. г. Приступљено 12. 05. 2016.
- ^ King, Kevin F. (8. 06. 2010). „Personal Jurisdiction, Internet Commerce, and Privacy: The Pervasive Legal Consequences of Modern Geolocation Technologies”.