en

Sitio de encuentro para los desarrolladores .NET

Mucio Zarate

abril 2008 - Artículos

  • Community Launch Guadalajara .NET

    Esta la información del evento de lanzamiento organizado por la comunidad Guadalajara .NET, en conjunto con SQL Server México, UNIVA, INETA Latam, Novalys y Executrain entre otros.

    Les recomiendo que se inscriban en este liga para poder participar de la rifa de regalos.

    invitacion gdl_imagen_para_subir

  • Desarrollo de aplicación móvil "¿Donde estoy?" usando GPS

    Una de las características que más llaman la atención en los dispositivos móviles es el uso aplicaciones para sistemas de posicionamiento global o GPS, para conocer algo de teoría y las bases para desarrollar podemos consultar el articulo de Jon Person en CodeProject, que aunque esta en ingles, explica muy bien los detalles de funcionamiento, aunque también vemos que el desarrollo de este tipo de aplicaciones no es tan simple ya que requerimos manejar las comunicaciones con el GPS y recibir e interpretar los datos que nos llegan del GPS con el protocolo NMEA que es el manejan la mayoría de estos dispositivos.

    Afortunadamente el desarrollo de este tipo de aplicaciones en Windows Mobile ha ido evolucionando favorablemente, y a partir de la versión 5 de windows mobile PocketPC disponemos de la API "gps.dll", la cual junto con otro programa llamado "settings.exe"  funcionan como un "driver intermedio" permitiendo que podamos comunicarnos con el GPS a través de la API, la cual se encarga de establecer la comunicación con el GPS, interpretar los datos y mostrarnos la latitud y longitud de nuestra ubicación.

    Una buena noticia para los que disponemos de un smartphone como el HTC S621 de telcel, es que a partir de la versión 6 ya esta disponible esta API, y podemos actualizar nuestro HTC S621 de manera "no oficial" a la versión 6 siguiendo los pasos de este post.

    En windows mobile 6 PocketPC o windows mobile professional como se le llama ahora, no requerimos el programa "settings.exe" ya que esta es una mas de las tareas del sistema operativo, como podemos ver en la siguiente imagen.

    image

    Otra de las novedades es que disponemos de la herramienta FakeGPS con la cual podemos emular un GPS y probar nuestra aplicación dentro de nuestro entorno desarrollo proporcionándole un archivo de texto con datos de un GPS.

    Siguiendo con el desarrollo de nuestra aplicación, requerimos instalar las herramientas para desarrollo móvil, en especial el SDK de Windows Mobile 6  y localizar el ejemplo GPS en VB o C# para compilar y generar el ensamblado "Microsoft.WindowsMobile.Samples.Location.dll" que debemos agregar como referencia a un nuevo proyecto móvil y buscar dentro de tools\gps el programa "settings.exe" si estamos usando un smartphone.

    Una vez hecho esto, para conocer la latitud y longitud de donde nos encontramos,  todo lo que tenemos que hacer crear una instancia de la clase Gps, mandar llamar el método Open cuando se cargue la forma y después al método GetPosition como se muestra el siguiente código de ejemplo:

            Gps gps;

            private void MainForm_Load(object sender, EventArgs e)

            {

                gps = new Gps();

                gps.Open();

            }

     

            private void DisplayCurrentPosition()

            {

                GpsPosition position = gps.GetPosition();

                double lat = position.Latitude;

                double lon = position.Longitude;

                // Display lat and lon

            }

     

            private void MainForm_Closed(object sender, EventArgs e)

            {

                gps.Close();

            }

    Cabe mencionar que observando las atributos de la clase Gps, vemos que disponemos de algunos eventos como el "LocationChanged" que puede servirnos para ser notificados cuando cambiamos de ubicación.

     

    image image

     

    Una vez que conocemos la latitud y longitud de donde nos encontramos, podemos usar algunos web services como los de MapPoint de Microsoft, el cual es muy completo y nos permite obtener mapas, direcciones, referencias, etc. pero para simplificar nuestra aplicación haremos uso de la API  Google Maps, en la modalidad de mapas estáticos, y en la cual basta pasar como parámetros del URL, la latitud, longitud, y el tamaño de la imagen entre otros, y nos generará una imagen con el mapa de nuestra ubicación.

     

    Teniendo esto, lo que sigue es arrastrar el control WebBrowser a nuestra forma, pasarle en la URL los parámetros requeridos por google maps y mandar llamar el método Update para que genere una imagen como la siguiente donde nos muestra ubicados en el Centro del Software.

    image

Más artículos
Comunidad Guadalajara .NET 2007
Ofrecido por Community Server (Non-Commercial Edition)