La API de geolocalización del W3C es un esfuerzo del Consorcio World Wide Web (W3C) para estandarizar una interfaz para recuperar la información de ubicación geográfica de un dispositivo cliente. [ 3 ] Define un conjunto de objetos, compatibles con el estándar ECMAScript , que al ejecutarse en la aplicación cliente proporcionan la ubicación del dispositivo cliente mediante la consulta de servidores de información de ubicación , que son transparentes para la interfaz de programación de aplicaciones (API). Las fuentes más comunes de información de ubicación son la dirección IP , las redes Wi-Fi y Bluetooth disponibles , la identificación por radiofrecuencia (RFID), la ubicación de la conexión Wi-Fi o los identificadores de celda del Sistema de Posicionamiento Global (GPS) y GSM / CDMA del dispositivo . La ubicación se devuelve con una precisión determinada que depende de la mejor fuente de información de ubicación disponible.
Implementación en navegadores web
Las páginas web pueden usar la API de geolocalización directamente si el navegador web la implementa. Históricamente, algunos navegadores podían obtener soporte a través del complemento Google Gears , pero este se descontinuó en 2010 y la API del lado del servidor de la que dependía dejó de responder en 2012. [ 4 ] [ 5 ]
La API de geolocalización es ideal para aplicaciones web para dispositivos móviles como teléfonos inteligentes . En computadoras de escritorio, la API de geolocalización W3C funciona en Firefox desde la versión 3.5, Google Chrome , [ 6 ] Opera 10.6, [ 7 ] Internet Explorer 9.0, [ 8 ] y Safari 5. En dispositivos móviles, funciona en Android (firmware 2.0+), iOS , Windows Phone y Maemo . La API de geolocalización W3C también es compatible con Opera Mobile 10.1, disponible para dispositivos Android y Symbian (generaciones S60 3 y 5) desde el 24 de noviembre de 2010. [ 9 ] Los navegadores inicialmente permitían el acceso a la API en contextos no seguros, pero en el contexto de Contextos Seguros, [ 10 ] los navegadores, por ejemplo, Chrome, [ 11 ] ahora generalmente requieren una conexión segura.
Google Gears ofrecía compatibilidad con la geolocalización para navegadores antiguos y no compatibles, como Internet Explorer 7.0+ (mediante un complemento) y Google Chrome (que implementaba Gears de forma nativa). También ofrecía compatibilidad con la geolocalización en dispositivos móviles como complemento para el navegador Android (anterior a la versión 2.0) y Opera Mobile para Windows Mobile . Sin embargo, la API de geolocalización de Google Gears es incompatible con la API de geolocalización del W3C y ya no cuenta con soporte.
Implementación
Aunque no se especifica la implementación, la API de geolocalización del W3C se basa en tecnologías existentes y está fuertemente influenciada por la API de geolocalización de Google Gears. Ejemplo: la implementación de geolocalización de Firefox [ 12 ] utiliza el proveedor de ubicación de red de Google. [ 5 ] La geolocalización de Google Gears funciona enviando un conjunto de parámetros que podrían dar una pista sobre la ubicación física del usuario a un servidor proveedor de ubicación de red, que por defecto es el proporcionado por Google (code.l.google.com). [ 13 ] Algunos de los parámetros son listas de torres de telefonía móvil y redes Wi-Fi detectadas, todas con intensidades de señal detectadas. Estos parámetros se encapsulan en un mensaje JSON (JavaScript Object Notation ) y se envían al proveedor de ubicación de red mediante HTTP POST. Basándose en estos parámetros, el proveedor de ubicación de red puede calcular la ubicación. Los usos comunes de esta información de ubicación incluyen la aplicación de controles de acceso, la localización y personalización de contenido, el análisis de tráfico, la publicidad contextual y la prevención del robo de identidad. [ 14 ]
Código de ejemplo
Código JavaScript simple que comprueba si el navegador tiene implementada la API de geolocalización y luego la utiliza para obtener la posición actual del dispositivo. Este código crea una función que se puede llamar en HTML usando <body onload="geoFindMe()">:
const geoFindMe = () => { if ( navigator . geolocation ) { navigator . geolocation . getCurrentPosition ( success , error , geoOptions ); } else { console . log ( "Los servicios de geolocalización no son compatibles con su navegador web." ); } }const success = ( position ) => { const latitude = position . coords . latitude ; const longitude = position . coords . longitude ; const altitude = position . coords . altitude ; const accuracy = position . coords . accuracy ; console . log ( `lat: ${ latitude } long: ${ longitude } ` ); }const error = ( error ) => { console . log ( `No se pudo obtener tu ubicación debido a ${ error . code } : ${ error . message } ` ); }const geoOptions = { enableHighAccuracy : true , maximumAge : 30000 , timeout : 27000 };Véase también
Referencias
- ↑ "Historial de publicación de la segunda edición de la especificación de la API de geolocalización" . W3C. s.f. Consultado el 21 de abril de 2021 .
- ↑ Popescu, Andrei (22 de diciembre de 2008). "Especificación de la API de geolocalización" . Grupo de trabajo de geolocalización del W3C . Recuperado el 21 de abril de 2021 .
- 1 2 3 4 Cáceres, Marcos; Grant, Reilly (1 de septiembre de 2022). "Especificación de la API de geolocalización" . Grupo de trabajo de geolocalización del W3C . Recuperado el 8 de febrero de 2024 .
- ↑ "API de geolocalización: API de Gears: Google Code" . Google Code . 9 de julio de 2009. Archivado del original el 14 de febrero de 2012. Consultado el 21 de abril de 2021 .
- 1 2 "GeolocationAPI - gears - Proporciona la geolocalización de un dispositivo que ejecuta un navegador web habilitado para Gears. - Mejorando su navegador web - Google Project Hosting" . Google Code . Archivado del original el 22 de diciembre de 2015. Recuperado el 21 de abril de 2021 .
- ↑ "Nueva versión estable de Chrome: ¡Bienvenidos, Mac y Linux!" . Blog de Google Chrome . 25 de mayo de 2010 . Consultado el 21 de abril de 2021 .
- ↑ Kleinhout, Huib (1 de julio de 2021). "Opera 10.60 llega a su versión final" . My Opera . Opera Software . Archivado del original el 9 de noviembre de 2011. Recuperado el 21 de abril de 2021 .
- ↑ ieblog (17 de febrero de 2011). "API de geolocalización del W3C en IE9 - IEBlog - Página principal - Blogs de MSDN" . IEBlog . Archivado del original el 19 de febrero de 2011. Consultado el 21 de abril de 2021 .
- ↑ Opera.com (25 de noviembre de 2010). "Opera acelera la navegación en Symbian" . Archivado del original el 4 de noviembre de 2011. Consultado el 21 de abril de 2021 .
- ↑ "Contextos seguros" . W3.org . Consultado el 13 de octubre de 2022 .
- ↑ "Intención de eliminar: Uso inseguro del origen de la geolocalización" . Groups.Google.com . Consultado el 13 de octubre de 2022 .
- ↑ "¿Firefox comparte mi ubicación con los sitios web? | Soporte de Mozilla" . Mozilla Firefox . Mozilla. s.f. Consultado el 21 de abril de 2021 .
- ↑ "WebScanNotes.com: API de geolocalización W3C" . WebScanNotes . nd Archivado del original el 12 de noviembre de 2012. Consultado el 21 de abril de 2021 .
- ↑ King, Kevin F. (8 de junio de 2010). «Jurisdicción personal, comercio electrónico y privacidad: las consecuencias legales generalizadas de las tecnologías modernas de geolocalización» (publicado el 9 de junio de 2010). SSRN 1622411. Recuperado el 21 de abril de 2021 .
Enlaces externos
- Interfaces de programación de aplicaciones
- HTML5
- geolocalización de Internet
- Software basado en la ubicación
- Estándares web