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 para un dispositivo del lado del cliente. [3] Define un conjunto de objetos, que cumplen con el estándar ECMAScript , que al ejecutarse en la aplicación cliente dan la ubicación del dispositivo del cliente a través de la consulta de los Servidores de Información de Ubicación , los cuales 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 , la dirección MAC de Wi-Fi y Bluetooth ,identificación por radiofrecuencia (RFID), ubicación de la conexión Wi-Fi o sistema de posicionamiento global (GPS) del dispositivo e ID de celda GSM / CDMA . La ubicación se devuelve con una precisión determinada en función de la mejor fuente de información de ubicación disponible.
Nombre nativo | API de geolocalización |
---|---|
Estado | Recomendación del W3C |
Año iniciado | 2008 [1] [2] |
Publicado por primera vez | 22 de diciembre de 2008 [1] [2] |
Ultima versión | Recomendación del W3C 8 de noviembre de 2016 [3] |
Organización | |
Comité | Grupo de trabajo de geolocalización [3] |
Editores | Andrei Popescu [3] |
Dominio | Información de ubicación geográfica |
Sitio web | www |
Implementación en navegadores web
Las páginas web pueden utilizar 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 suspendió 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 asistentes digitales personales (PDA) y teléfonos inteligentes . En computadoras de escritorio, la API de geolocalización de 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 del W3C también es compatible con Opera Mobile 10.1, disponible para dispositivos Android y Symbian (S60 generaciones 3 y 5) desde el 24 de noviembre de 2010. [9]
Google Gears brindó soporte de geolocalización para navegadores más antiguos y no compatibles, incluido Internet Explorer 7.0+ como complemento de Gears y Google Chrome, que implementó Gears de forma nativa. También admitió la geolocalización en dispositivos móviles como complemento para el navegador de Android (versión anterior a 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 de W3C y ya no es compatible.
Características
El resultado de la API de geolocalización de W3C generalmente dará 4 propiedades de ubicación, incluyendo latitud y longitud (coordenadas), altitud (altura) y [precisión de la posición recopilada], todas las cuales dependen de las fuentes de ubicación. En algunas consultas, la altitud puede ceder o no devolver ningún valor.
Fuentes de ubicación
La API de geolocalización no proporciona la información de ubicación. La información de ubicación es obtenida por un dispositivo (como un teléfono inteligente, PC o módem), que luego es servido por la API para ser traído al navegador. Por lo general, la geolocalización intentará determinar la posición de un dispositivo utilizando uno de estos varios métodos.
- GPS (sistema de posicionamiento global)
- Esto sucede con cualquier dispositivo que tenga capacidad de GPS . Es probable que un teléfono inteligente con capacidades de GPS y configurado en modo de alta precisión obtenga los datos de ubicación de esto. El GPS calcula la información de ubicación a partir de la señal del satélite. Tiene la mayor precisión; en la mayoría de los teléfonos inteligentes Android, la precisión puede ser de hasta 10 metros.
- Ubicación de la red móvil
- El rastreo de teléfonos móviles se utiliza si se utiliza un teléfono móvil o un módem inalámbrico sin un chip GPS integrado.
- Sistema de posicionamiento Wi-Fi
- Si se usa Wi-Fi en interiores, un sistema de posicionamiento Wi-Fi es la fuente más probable. Algunos puntos Wi-Fi tienen capacidades de servicios de ubicación.
- Ubicación de la dirección IP
- La ubicación se detecta en función de la dirección IP pública más cercana en un dispositivo (que puede ser una computadora, el enrutador al que está conectado o el ISP que utiliza el enrutador). La ubicación depende de la información de IP disponible, pero en muchos casos donde la IP está oculta detrás del proveedor de servicios de Internet NAT, la precisión es solo al nivel de una ciudad, región o incluso país.
Implementación
Aunque no se especifica la implementación, la API de geolocalización de W3C se basa en tecnologías existentes y está muy influenciada por la API de geolocalización de Google Gears. Ejemplo: la implementación de geolocalización de Firefox [10] 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 dónde está la ubicación física del usuario a un servidor de proveedor de ubicación de red, que es de forma predeterminada el proporcionado por Google (code.l.google.com ). [11] Algunos de los parámetros son listas de torres de telefonía móvil detectadas y redes Wi-Fi, todas con intensidades de señal detectadas. Estos parámetros se encapsulan en un mensaje de notación de objetos JavaScript ( JSON ) y se envían al proveedor de ubicación de red a través de HTTP POST. Según 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 del tráfico, la publicidad contextual y la prevención del robo de identidad. [12]
Código de ejemplo
Código JavaScript simple que verifica si el navegador tiene implementada la API de geolocalización y luego la usa para obtener la posición actual del dispositivo. este código crea una función que se puede llamar en HTML usando :
const geoFindMe = () => { if ( navegador . geolocalización ) { navegador . geolocalización . getCurrentPosition ( éxito , error , geoOptions ); } else { consola . log ( "Los servicios de geolocalización no son compatibles con su navegador web" ); } }const éxito = ( posición ) => { latitud constante = posición . coords . latitud ; longitud constante = posición . coords . longitud ; altitud constante = posición . coords . altitud ; precisión constante = posición . coords . exactitud ; consola . log ( `lat: $ { latitud } largo: $ { longitud } ` ); } const error = ( error ) => { consola . log ( `No se puede recuperar de su ubicación, debido a $ { error . código } : $ { error . mensaje } ' ); }const geoOptions = { enableHighAccuracy : true , maximumAge : 30000 , timeout : 27000 };
Ver también
- Servicios basados en la localización
- Búsqueda local (Internet)
Referencias
- ^ a b "Historial de publicación de la 2ª edición de la especificación API de geolocalización - W3C" . nd . Consultado el 21 de abril de 2021 .
- ^ a b Popescu, Andrei (editor, Google Inc.) (22 de diciembre de 2008). "Especificación API de geolocalización" . W3C . Grupo de Trabajo de Geolocalización . Consultado el 21 de abril de 2021 .
- ^ a b c d Popescu, Andrei (editor, Google Inc.) (8 de noviembre de 2016). "Especificación de la API de geolocalización 2ª edición" . W3C . Grupo de Trabajo de Geolocalización . Consultado el 21 de abril de 2021 .
- ^ "API de geolocalización: API de Gears: código de Google" . Código de Google . 9 de julio de 2009. Archivado desde el original el 4 de febrero de 2012 . Consultado el 21 de abril de 2021 .
- ^ a b "GeolocationAPI - gears - Proporciona la geolocalización de un dispositivo que ejecuta un navegador web habilitado para Gears. - Mejora de su navegador web - Alojamiento de proyectos de Google" . Código de Google . nd Archivado desde el original el 22 de diciembre de 2015 . Consultado el 21 de abril de 2021 .
- ^ "Una 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 va final" . Mi Opera . Opera Software . Archivado desde el original el 9 de noviembre de 2011 . Consultado el 21 de abril de 2021 .
- ^ ieblog (17 de febrero de 2011). "API de geolocalización W3C en IE9 - IEBlog - Inicio del sitio - Blogs de MSDN" . IEBlog . Archivado desde el 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 Symbian" . Archivado desde el original el 4 de noviembre de 2011 . Consultado el 21 de abril de 2021 .
- ^ "¿Firefox comparte mi ubicación con sitios web? | Soporte de Mozilla" . Mozilla Firefox . Mozilla. nd . Consultado el 21 de abril de 2021 .
- ^ "WebScanNotes.com: API de geolocalización W3C" . WebScanNotes . nd Archivado desde el 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 de Internet y privacidad: las consecuencias legales generalizadas de las tecnologías modernas de geolocalización" (publicado el 9 de junio de 2010). SSRN 1622411 . Consultado el 21 de abril de 2021 .
enlaces externos
- Especificación de la API de geolocalización del W3C