domingo, 30 de marzo de 2014

Location Sensor

Fuentes: 
Este componente proporciona la ubicación del dispositivo Android, utilizando el GPS si está disponible o un método alternativo en caso contrario, como pueden ser las torres de telefonía móvil o las redes inalámbricas conocidas.

LocationSensor es un componente no visible que puede proporcionar información sobre la ubicación, incluyendo longitud, latitud, altitud (si el dispositivo posee esta capacidad), y la dirección. Este componente también puede proporcionar geocodificación, la conversión de una dirección dada (no necesariamente la actual) a una latitud (con el método LatitudeFromAddress) y una longitud (con el método LongitudeFromAddress).

Para funcionar, el componente debe tener la propiedad Enabled establecida, y el dispositivo debe tener habilitada la detección de localización a través de satélites GPS (hallándose con cobertura del sistema) o un método alternativo.

Propiedades

Existen algunas propiedades en las que podemos consultar si ciertas características están incluidas: 

Enabled (true, false): 
Indica si la información de ubicación está disponible. Se establece con el propio programa y no tiene que ver con que la ubicación del dispositivo este activa o no 

HasAccuracy (true, false): 
Indica si el dispositivo Android puede informar sobre su precisión (Accuracy). 

HasAltitude (true, false): 
Indica si el dispositivo Android puede proporcionar su altitud (Altitude). 

HasLongitudeLatitude (true, false): 
Indica si el dispositivo Android puede proporcionar su longitud y latitud (Longitude y Latitude). 

Si estas características están disponibles, las siguientes propiedades nos indican su valor:

Accuracy: 
Indica la precisión del dispositivo Android, en metros. 

Altitude: 
Indica la altitud en la que se encuentra el dispositivo Android, en metros. 

AvailableProviders: 
Lista de los proveedores de servicio disponibles, como el GPS o la red. Passive indica que se ha desactivado la ubicación del dispositivo. GPS indica que la posición la obtiene del GPS del dispositivo. Network indica que la posición se optiene con redes Wifi y redes móviles. 

CurrentAddress: 
Dirección de la posición actual del dispositivo Android. Indica la dirección postal (calle, localidad, etc.). 

Latitude: 
Latitud del dispositivo Android. 

Longitude: 
Longitud del dispositivo Android. 

Algunas propiedades se utilizan para la configuración: 

DistanceInterval: 
Determina el intervalo de distancia mínima , en metros, que el sensor va a tratar de utilizar para el envío de actualizaciones de ubicación . Por ejemplo, si se establece en 5 , se dispara un evento LocationChanged cuando varía en 5 metros la posición . Sin embargo , el sensor no garantiza que se recibirá una actualización exactamente en el intervalo de dicha distancia . Puede tardar más de 5 metros para disparar un evento, por ejemplo. 

ProviderLocked (true, false): 
Se utiliza para indicar si el dispositivo puede cambiar el proveedor del servicio activo (gps, network). Si cambia se dispara el evento StatusChanged. 

ProviderName: 
Podemos editar el nombre del proveedor de servicio activo. 

TimeInterval: 
Determina el intervalo de tiempo mínimo, en milisegundos, que el sensor va a tratar de utilizar para el envío de actualizaciones de ubicación. Sin embargo, sólo se recibirán actualizaciones de ubicación cuando la ubicación del teléfono en realidad cambia, y no se garantiza el uso del intervalo de tiempo especificado. Por ejemplo, si 1000 es usado como el intervalo de tiempo, actualizaciones de ubicación nunca serán despedidos antes de lo 1000 ms, pero pueden ser despedidos en cualquier momento después. 

Eventos

LocationChanged (latitude, longitude, altitude): 
Se dispara cuando el dispositivo Android cambia de ubicación x metros determinados por DistanceInterval. 

StatusChanged (text provider, text status): 
Se dispara al cambiar el proveedor de servicio. Con la propiedad ProviderLocked podemos evitar que se produzcan estos cambios. 

Métodos 

LatitudeFromAddress (text locationName): 
Determina la latitud de la dirección indicada. 

LongitudeFromAddress (text locationName): 
Determina la longitud de la dirección indicada. 

Aplicación

He desarrollado una aplicación que muestra todas las propiedades de Location y hace uso del evento LocationChanged.

Bloques significativos:

Activamos el sensor de localización:


Indicamos la precisión del sensor de localización:


Mostramos la altitud en que nos encontramos:


Mostramos la altitud y la longitud:


La dirección se muestra de esta forma:


Si se cambia de posición, se muestran los datos nuevamente:



Descarga:

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.