Seguimiento continuo de la ubicación
Aprendimos sobre InputScopes en nuestro último tutorial, como parte de la serie de desarrollo de la aplicación Windows Phone 7.5 Mango. En esta lección aprenderemos cómo recuperar la posición global del teléfono, es decir, su latitud y longitud, y luego llamaremos a un servicio web que resolverá la latitud y la longitud en formato de ciudad, estado y país.
El Windows El teléfono 7 está equipado con una interfaz de GPS. Cuando se combina con la API del servicio de ubicación del teléfono con Windows 7, podemos usarla para determinar la latitud y la longitud, es decir, la posición actual del teléfono. Entonces podemos usar estos valores de latitud y longitud para determinar la ciudad, el estado y el país. Usamos un servicio web para resolver la ciudad, el estado y el país. Se puede pensar en un servicio web como un método que se ejecuta en Internet. Un servidor web está alojado en un servidor y el nombre de su método está expuesto junto con los parámetros que aceptará y el tipo de datos que devolverá. Podemos llamar a un servicio web de este tipo a través de Internet, recuperar resultados y hacer algo significativo con los datos obtenidos.
¡Demos manos a la experiencia práctica de inmediato!
Cree un nuevo proyecto de Windows Phone 7 con un nombre único como `GPSDemo`. Copie y pegue el siguiente código xaml en la cuadrícula del panel de contenido.
HorizontalAlignment = "Left" Margin = "12,23,0,0" Name = "TextBlock1" Text = "" VerticalAlignment = "Top" Ancho = "423" /> Altura = "72" HorizontalAlignment = "Left" Margin = "275,59,0,0" Name = "button1" VerticalAlignment = "Top" Ancho = "160" Click = "button1_Click " /> Con el código anterior, creamos un bloque de texto en blanco y un botón con la propiedad de contenido cambiada a Buscarme. Navega al evento button1_Click. Antes de escribir el código para esto, incluso tenemos que agregar una referencia a. Haga clic con el botón derecho en el título del proyecto en el explorador de soluciones y seleccione Agregar referencia en el menú. Debajo de la pestaña `.Net` desplácese hacia abajo y seleccione el nombre del componente `system.Device`. Haga clic en Aceptar para agregar el archivo dll a su proyecto. A continuación, escriba la siguiente línea de código después de la última instrucción de uso en MainPage.xaml.cs. using System.Device.Location; Luego creamos una referencia al servicio web. Para hacer esto, haga clic derecho en el título del proyecto y seleccione Agregar referencia de servicio en el menú. Escriba la siguiente URL `//msrmaps.com/TerraService2.asmx` en el cuadro de texto Dirección y haga clic en `Ir`. Una vez que el servicio web se identifica a través de Internet, verá una lista de operaciones disponibles bajo ese servicio web. Simple cambie el espacio de nombre de ServiceReference1 a myTerraService y haga clic en el botón Aceptar. Visual Studio crea la clase de proxy que usará para trabajar con el servicio web. Una vez hecho esto, está listo para trabajar con la interfaz GPS del teléfono. Copie y pegue las siguientes líneas de código en el evento button1_Click. GeoCoordinateWatcher myWatcher = new GeoCoordinateWatcher (); var myPosition = myWatcher.Position; double latitude = 18.916; double longitude = 72.9; if (! MyPosition.Location.IsUnknown) { latitude = myPosition.Location.Latitude; longitude = myPosition.Location.Longitude; } myTerraService.TerraServiceSoapClient client = new myTerraService.TerraServiceSoapClient (); client.ConvertLonLatPtToNearestPlaceCompleted + = new EventHandler (client_ConvertLonLatPtToNearestPlaceCompleted); client.ConvertLonLatPtToNearestPlaceAsync (new myTerraService.LonLatPt {Lat = latitud, Lon = longitud}); Copie y pegue el siguiente método después de las últimas llaves del botón1_Click método void client_ConvertLonLatPtToNearestPlaceCompleted (remitente del objeto, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e) { textBlock1.Text = e.Result; } Ahora echemos un vistazo a lo que hace exactamente el código. Al principio obtenemos los valores para la latitud y la longitud creando un objeto de la clase FeoCoordinateWatcher llamado myWatcher y luego accedemos a la latitud y longitud simplemente accediendo a la propiedad de latitud y longitud de myPosition.Location. A continuación, creamos una llamada asincrónica al servicio web que pasa la latitud y la longitud. Finalmente, simplemente mostramos el resultado del servicio web en el bloque de texto. Se realiza una llamada asíncrona para que la aplicación siga siendo receptiva incluso mientras se recibe el resultado del servicio web. Para obtener más información sobre GPS, Location API y Calling Web Services, visite www.msdn.com. Esto concluye nuestra serie de desarrollo de aplicaciones Windows Phone 7.5 Mango. Enlaces a todas las partes de esta serie de tutoriales:
Salesforce.com lanza nuevos servicios para desarrollo de aplicaciones móviles
Salesforce.com les brinda a clientes y socios acceso a un nuevo conjunto de herramientas y servicios para construir aplicaciones móviles en su plataforma en la nube.
Agregar diferentes tipos de entrada: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 27
Un vistazo a diferentes tipos de entradas disponibles en Windows Phone 7 y cómo utilízalos en tu aplicación. Parte de la serie de tutoriales de desarrollo de aplicaciones de Windows Phone,
Aplicar estilo y recurso de tema a los controles: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 20
Continuación del último tutorial , aprenderemos cómo aplicar estilos y pinceles de color personalizados a los controles de Windows Phone Apps en esta parte.