Vous êtes sur la page 1sur 34

Geolocation

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)

Coordenadas de Latitud y longitud I


Son los principales datos para poder obtener la posicin del usuario. La latitud es el valor que indica la distancia en cualquier punto (Norte o Sur) desde la lnea ecuatorial. Lneas horizontales

Coordenadas de Latitud y longitud II


La longitud es el valor que indica la distancia entre un punto cualquiera y el Meridiano de Greenwich(Inglaterra).

Lneas verticales

Coordenadas de Latitud y longitud III

Latitud

Longitud

Cmo se expresa la latitud y longitud?


Las coordenadas de latitud y longitud se puede expresar en diferentes formatos. Formato Decimal
Ecuador (39.17222). Greenwich (-120.13778).

Formato Degree Minute Second(DMS)


Ecuador (39 10' 20').

Las coordenadas que usa el API de Geolocation se expresan en formato decimal.

Informacin Garantizada
latitude latitud grados decimales

longitude
acurracy

longitud
exactitud

grados decimales
metros

Es la precisin de la ubicacin con el punto establecido por la latitud y longitud.

Es esa toda la informacin?


Se puede extraer ms datos dependiendo del dispositivo. altitude altitudeAccuracy heading speed altitud latitud latitud velocidad metros metros grados m/s

Si estos datos no estn disponible entonces regresar el valor de null.

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.

Global System Position [GPS]


Ubicacin mediante satlites GPS. Debido a que puede tomar mucho tiempo se recomienda hacerlo de manera asincrnica [En segundo plano]. PRO
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.

Definido por el usuario


Mediante Aplicaciones los mismos usuarios puede dar datos [direccin , cdigo postal ,etc]. Estos datos son usados para su localizacin. PRO Contras
Preciso. Informacin mal Permite ubicaciones brindada. alternativas. Deteccin rpida dependiente la habilidad del usuario.

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]);

watchPosition(position successcallback , [positionError errorcallback] , [position options]); clearWatch(long watchId);

API Geolocation Callback


La funciones se ejecutan de forma asincrnica.

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.

position options Afina la forma de recoleccin de


datos. Se usa la notacin Object.

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.

double coords . accuracy

Objeto coords II
double coords . altitud
Altura de la posicin.
Exactitud de la double coords . altitudeAccuracy altura de la posicin

double coords . heading

Direccin de desplazamiento del dispositivo [0-360].

double coords . speed La velocidad de la corriente


del dispositivo que aloja

Depende del dispositivo.

Objeto positionError
Es devuelto cuando no se ejecuto correctamente la geo localizacin.
int positionError . code;
Cdigo interior del error que ha ocurrido.

String positionError . message;


Mensaje 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.

int positionError . POSITION_UNAVAILABLE = 2


No se a podido determinar la posicin (No hay red, satlites no encontrados ,etc).

int positionError . TIMEOUT = 3


Se excedi al tiempo especificado en la opcin de timeout.

position Options
boolean enableHighAccuracy ; false
Permite alcanzar una mayor precisin ejecutando otras aplicaciones como GPS.

long timeout ;

[infinity] infinito

Tiempo de espera (ms) mximo para la localizacin.

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

funcin en caso funcin en caso de un error de xito

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

Vous aimerez peut-être aussi