Obtener ubicación usando el GPS en Windows Phone 7

En esta ocasión veremos de qué forma podemos obtener las coordenadas de ubicación desde Windows Phone 7, interactuando con el GPS del dispositivo móvil.

Para comenzar, creamos en Visual Studio 2010 una nueva solución de Windows Phone 7, y en el formulario de la aplicación, incluimos dos cuadros de texto para visualizar las coordenadas de ubicación, y adicionamos un botón para la acción de obtener las coordenadas

wp7_gps_01

Posteriormente, declaramos una variable de clase, del tipo GeoCoordinateWatcher

private GeoCoordinateWatcher watcher = null;

Una  vez hecho esto, generamos el evento para el botón de confirmar ubicación, y en este evento realizamos tres acciones:

  1. Inicializar la variable de tipo GeoCoordinateWatcher
  2. Matricular un método que será invocado en el evento StatusChanged del objeto de tipo GeoCoordinateWatcher
  3. Iniciar el monitoreo de la ubicación a través del objeto de tipo GeoCoordinateWatcher 
        public void btnConfirmar_Click(object sender, RoutedEventArgs e)
        {
            if (watcher != null)
            {
                watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
                watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
                watcher.MovementThreshold = 20;
            }

            watcher.Start();
        }

Luego de esto, implementamos el evento que manejará el método StatusChanged que matriculamos en el paso anterior. Lo que haremos en este evento es capturar el objeto que contiene las coordenadas de ubicación, mostrarlos en los campos de texto de la pantalla y detenemos el monitoreo de la ubicación.

        void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
        {
            if (e.Status == GeoPositionStatus.Ready)
            {
                GeoCoordinate loc = watcher.Position.Location;
                watcher.Stop();

                txtLatitud.Text = loc.Latitude.ToString();
                txtLongitud.Text = loc.Longitude.ToString();
            }

        }

Después de realizados estos pasos, procedemos a iniciar la aplicación en el emulador de Windows Phone 7, donde podremos simular la obtención de unas coordenadas de ubicación.

wp7_gps_05

En el caso del emulador de Windows Phone 7, este retorna las coordenadas de ubicación simulada de oficinas de Microsoft, lo cual podemos verificar en cualquier servicio de mapas.

wp7_gps_06

Por supuesto, esto también lo podemos ver en un mapa en nuestro dispositivo, pero eso será tema de otros post :D.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: