Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Geolocation
API que nos permite obtener la informacin (datos) del posicionamiento geogrfico de un usuario por medio del navegador.
Privacidad
La API de Geolocation afirma:
Los agentes de usuarios (navegadores) no deben obtener informacin de la ubicacin sin la autorizacin del usuario.
Geolocation es opcional Si el usuario decide compartir su ubicacin Qu datos se obtiene desde navegador?
Latitude (Latitud) Longitude (Longitud) Accuracy (Precision) Metadatos (Dispositivo)
Lneas verticales
Latitud
Longitud
Informacin Garantizada
latitude latitud grados decimales
longitude
acurracy
longitud
exactitud
grados decimales
metros
Como lo hace?
La API de geolocation no especifica como se aplica la tecnologa que se usa para poder hallar la informacin. Simplemente expone una API para recuperar informacin de la ubicacin.
Soporte
Geolocation fue una de las principales API de HTML5 por eso ha sido implementado por casi todos los navegadores incluidos los dispositivos mviles.
Fuentes de Informacin
IP address Triangulacin de Coordenadas
Global Position System (GPS) Wi-Fi y Bluetooth GSM or CDMA cell phone IDs
User defined Algunos dispositivos combinan ms de un origen produciendo una precisin ms exacta.
IP Address
El ISP(Internet Service Provider) proporciona una conexin(IP) a cada usuario que brinda su servicio. La informacin brindada es normalmente la direccin fsica del proveedor. PRO Contras Total disponibilidad. No es muy preciso.
Contras
No funciona bien en interiores. Puede tardar mucho tiempo.
WIFI - Bluetooth
Se obtiene a partir de la distancia e informacin de los Access Point. La precisin se da a partir de la distancia entre le Access Point y el usuario. PRO Contras
Preciso. No es bueno en zonas Trabaja en interiores. donde existe poca Informacin rpida. conexin inalmbrica.
GSM
Se obtiene a partir de la distancia entre un usuario y la torre de telefona celular. Este mtodo es similar a la combinacin WIFI con GPS.
PRO
Contras
Preciso. Dispositivo telefonico Trabaja en interiores. [Celular-Modem]. Informacin rpida. No recomendado en zonas rurales.
Secuencia de pasos
1. 2. 3. Un usuario navega por una pagina web que usa geolocation. Se ejecuta la funcin de geolocation que realizar la peticin al usuario. El navegador recupera la informacin de coordenadas del dispositivo.(combinacin de direccin IP , Wi-Fi, GPS ).Esto es una funcin interna del navegador. El navegador enva esta informacin a un servicio de ubicacin de confianza externa , que nos devuelve los datos geogrficos que son enviados a la funcin ejecutando de la geolocalizacion.
4.
Aplicacin de Geolocation
API de Geolocation
navigator
geolocation
getCurrentPosition(position sucesscallback , [positionError errorcallback ] , [position options]);
position sucesscallback
Si la data de geolocation esta disponible Tendr como parmetro un objeto position.
Tendr como parmetro un objeto positionError.
positionError errorcallback
Si el pedido de datos no ha sido completado.
Objeto position
Es devuelto como parmetro cuando se ejecuta correctamente la geolozalicacion. object position . coords
Objeto que contiene la datos geogrficos.
date
position . timestamp
Representa el momento cuando la posicin fue adquirida.
Objeto coords I
Contiene las coordenadas geogrficas (datos) de la geo localizacin. double coords . latitude double coords . longitude
Distancia de norte o sur desde el ecuador. Distancia de este a oeste desde Greenwich , England. Denota el nivel de precisin de la latitud y longitud.
Objeto coords II
double coords . altitud
Altura de la posicin.
Exactitud de la double coords . altitudeAccuracy altura de la posicin
Objeto positionError
Es devuelto cuando no se ejecuto correctamente la geo localizacin.
int positionError . code;
Cdigo interior del error que ha ocurrido.
Objeto positionError
Qu es eso de cdigo y mensaje interno.? int positionError . PERMISSION_DENIED = 1
Se ha negado el permiso de compartir la ubicacin.
position Options
boolean enableHighAccuracy ; false
Permite alcanzar una mayor precisin ejecutando otras aplicaciones como GPS.
long timeout ;
[infinity] infinito
long maximumAge ;
Indica el tiempo [Frecuencia] (ms) que debe pasar para poder actualizar la posicin del dispositivo dependiendo de la cache del mismo.
One shot
navigator.geolocation.getCurrentPosition(position successcallback , [positionError errorcallback ] , [position options]); Obtener la posicin actual del dispositivo solo una vez. La informacin (datos) se guarda en el cache.
Frecuencia
var id = watchPosition(position successcallback , [positionError errorcallback] , [postion options]);
Devuelve un ID nico que identifica la operacin de vigilancia y seguimiento que se realiza de forma asincrnica cada vez que se cambie de posicin.
Esta operacin continua hasta que se llame a clearWatch con el ID correspondiente.
Clear
navigator.geolocation.clearWatch(long watchId);
Toma un ID , comprobando si existe , si no existe continua con las operaciones del watchPosition . Si el ID existe detiene las operaciones de seguimiento.
Ejemplo
var ubicacion = navigator.geolocation; ubicacin. getCurrentPosition(exito , error , {timeout : 10000});
Opciones de la geolocation
Ejemplo
function exito(posicion){ posicion. timestamp ; posicion.coords.latitude; } Estos datos se pueden se aadidos a otros API de mapas , como GoogleMaps.
Ejemplo
function error(error){ error.message; switch(error.code){ case error . PERMISSION_DENIED: /*.*/ break; case error . TIMEOUT : /*.*/ break; } }
Desarrollador
Jhorman Tasayco