MSDN España

Noticias, avisos, reflexiones... del equipo que hay detrás de MSDN en España... también tendremos alguna que otra firma invitada :)

Windows Phone Tips & Tricks. Cómo obtener la geolocalización del teléfono

Windows Phone Tips & Tricks. Cómo obtener la geolocalización del teléfono

[Nota: Este artículo pertenece a nuestra serie de Windows Phone Tips & Tricks]

Actualmente la mayoría de dispositivos móviles lleva GPS, por lo que es interesante saber como podríamos obtener nuestra localización exacta. Con el siguiente código vamos a ver como obtener la latitud y longitud del teléfono:

Geolocator geolocator = new Geolocator();
geolocator.DesiredAccuracy = PositionAccuracy.Default;

try
{
    Geoposition geoposition = await geolocator.GetGeopositionAsync(
        maximumAge: TimeSpan.FromMinutes(5),
        timeout: TimeSpan.FromSeconds(10)
        );
    textBlock.Text = String.Format("Latitud: {0}, Longitud: {1}",
        geoposition.Coordinate.Latitude.ToString("0.00"),
        geoposition.Coordinate.Longitude.ToString("0.00"));
}
catch (UnauthorizedAccessException)
{
    textBlock.Text = "Ha ocurrido un error";
}

Como vemos la clase que debemos usar el Geolocator. La segunda linea de código para determinar la precisión:

geolocator.DesiredAccuracy = PositionAccuracy.Default;

Hay dos formas de medir la precisión:

  • Podemos ponerla como Default o High, la diferencia es que en High nos gastará más batería para determinar nuestra posición, pero será mas preciso.
  • También podemos determinar la precisión en metros, que sería con: geolocator.DesiredAccuracyInMeters = 10 por ejemplo.
Luego para obtener las coordenadas lo hacemos con el método: "GetGeopositionAsync" al cual le pasamos dos parámetros:
  • maximunAge: define el tiempo máximo para si hacemos dos mediciones seguidas, utilice la caché. Por ejemplo si ponemos 5 minutos, si hacemos dos mediciones en menos de 5 minutos, la segunda vez el resultado será cacheado.
  • timeout: aquí definimos el tiempo máximo para una petición, si el método tarda más tiempo del que le pasemos en obtener las coordenadas saltará una excepción.
Como vemos es bastante sencillo obtener la geolocalización de nuestro dispositivo y una de las funciones cada vez más utilizadas en la actualidad.

Si tienes alguna duda, recuerda que tienes a tu disposición el foro de desarrollo de aplicaciones para Windows Phone en castellano, donde podrás compartir tus conocimientos con la comunidad de desarrolladores y encontrar ayuda para resolver tus dudas técnicas.

También puedes estar al día de todas las novedades a través de nuestros rincones en las redes sociales:

 

Un saludo,

 

Adrián Fernández García (@tracker086)

Blog: formulario de comentarios de publicación (CAPTCHA)