Windows

GPS, API de ubicación y servicios web de llamada: Tutorial de desarrollo de aplicaciones de Windows Phone - 25

Seguimiento continuo de la ubicación

Seguimiento continuo de la ubicación
Anonim

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:

  1. Aprenda a desarrollar Windows Phone 7.5 Aplicaciones Mango: Parte 1
  2. Desarrollo de Windows Phone 7.5 Aplicaciones Mango: Parte 2 (HelloWorld aplicación)
  3. Desarrollo de aplicaciones Windows Phone 7.5: Parte 3; Variables, tipos de datos y asignación de valores
  4. Desarrollo de aplicaciones de Windows 7.5 Mango, Parte 4: instrucción if
  5. Desarrollo de aplicaciones de Mango de Windows 7.5, Parte 5: Operadores, expresiones, declaraciones
  6. Desarrollo de aplicaciones de Mango de Windows 7.5, Parte 6: Switch Statement
  7. Desarrollo de Windows Phone Mango Apps, Parte 7: para iteraciones
  8. Uso de Simple Helper Methods al desarrollar Windows Phone 7.5 Mango Apps: Parte 8
  9. Trabajo con Strings: Windows Phone 7.5 Mango Apps Development - Part 9
  10. Trabajar con DateTime: Windows Phone 7.5 Mango Apps Development - Parte 10
  11. Comprender y crear clases: Windows Phone 7.5 Mango Apps Development - Parte 11
  12. Trabajar con clases: Windows Phone 7.5 Mango Apps Development - Part 12
  13. Descripción de los espacios de nombres: Windows Phone 7.5 Mango Apps Development - Parte 13
  14. Colección de objetos: Aplicaciones de Windows Phone Development Turorial - Parte 14
  15. Comprensión de XAML: Aplicaciones de Windows Phone Development Turorial - Parte 15
  16. Controles de diseño de Silverlight: Windows Teléfono Tutorial de desarrollo de aplicaciones - Parte 16
  17. Eventos de XAML y controles de entrada: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 17
  18. Trabajar con Image Control: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 18
  19. Trabajar con estilos y recursos: Windows Tutorial de desarrollo de aplicaciones de teléfono - Parte 19
  20. Aplicar estilo y recurso de tema a controles: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 20
  21. Navegando entre páginas XAML: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 21
  22. Trabajando con la barra de aplicaciones: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 22
  23. Uso de Canvas como cuadro de diálogo: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 23
  24. Agregar diferentes tipos de entradas: Tutorial de desarrollo de aplicaciones de Windows Phone - Parte 24
  25. GPS, Location API y Calling Servicios web: Tutorial de desarrollo de aplicaciones de Windows Phone - 25.