GPS, API de Localização e Chamada de Serviços Web: Tutorial de Desenvolvimento de Aplicações Windows Phone – 25



Atualizado em June 2025: Pare de receber mensagens de erro que tornam seu sistema mais lento, utilizando nossa ferramenta de otimização. Faça o download agora neste link aqui.
  1. Faça o download e instale a ferramenta de reparo aqui..
  2. Deixe o software escanear seu computador.
  3. A ferramenta irá então reparar seu computador.


Nós aprendemos sobre InputScopes em nosso último tutorial, como parte da série de desenvolvimento do Windows Phone 7.5 Mango App. Nesta lição, vamos aprender sobre como recuperar a posição global do telefone, ou seja, sua latitude e longitude e, em seguida, chamar um serviço web que irá resolver a latitude e longitude no formato Cidade, Estado e País.

O Windows Phone 7 está equipado com uma interface GPS. Quando acoplado ao serviço de localização API do telefone Windows 7, podemos usá-lo para determinar a latitude e longitude, ou seja, a posição atual do telefone. Podemos então usar estes valores de latitude e longitude para determinar a cidade, estado e país. Nós usamos um serviço web para resolver a cidade, estado e país. Um serviço web pode ser pensado como um método que corre pela internet. Um webservice é hospedado em um servidor e o nome do seu método é exposto junto com os parâmetros que ele aceitará e que tipo de dados ele retornará. Podemos chamar tal serviço web pela internet, recuperar resultados e fazer algo significativo com os dados obtidos.

Por isso, vamos pôr as mãos na experiência prática imediatamente!

Criar um novo projecto Windows Phone 7 com um nome único como ‘GPSDemo’. Copie e cole o seguinte código xaml no Content Panel Grid.



                         HorizontalAlinhamento=Esquerda


                        Margin=12,23,0,0″


                        Nome=textBlock1″


                        Text=


                       VerticalAlignment=Top


                       Largura=423″ />



                  Altura=72″


                  HorizontalAlinhamento=Esquerda


                 Margin=275,59,0,0″


                 Nome=button1″


                 VerticalAlignment=Top


                 Largura=160″


                 Click=button1_Click />

Com o código fornecido acima, criamos um bloco de texto em branco e um botão com a propriedade de conteúdo alterada para Find Me. Navegue até o evento button1_Click. Antes de escrevermos o código para isso, precisamos adicionar uma referência ao . Clique com o botão direito do mouse no título do projeto no solution explorer e selecione Adicionar referência no menu. Na aba ‘.Net’ role para baixo e selecione o nome do componente ‘System.Device’. Clique em OK para adicionar o arquivo dll ao seu projeto. Em seguida, digite a seguinte linha de código após a última instrução de uso no MainPage.xaml.cs.


usando System.Device.Location;

Seguinte criamos uma referência ao serviço web. Para isso, clique com o botão direito do mouse no título do projeto e selecione Adicionar referência de serviço no menu. Digite a seguinte URL ‘http://msrmaps.com/TerraService2.asmx’ na caixa de texto Endereço e clique em ‘Ir’. Assim que o serviço web for identificado através da Internet, verá uma lista de operações disponíveis no âmbito desse serviço web. Basta alterar o namespace de ServiceReference1 para myTerraService e clicar no botão OK. O Visual Studio constrói a classe proxy que você usará para trabalhar com o serviço web. Quando isso for feito, você estará pronto para trabalhar com a interface GPS do telefone. Copie e cole as seguintes linhas de código no evento button1_Click.


GeoCoordinateWatcher myWatcher = novo GeoCoordinateWatcher();


var myPosition = myWatcher.Position;


latitude dupla = 18,916;


dupla longitude = 72,9;


se (!myPosition.Location.IsUnknown)


O que é que se passa?


      latitude = myPosition.Location.Location.Latitude;


      longitude = myPosition.Location.Longitude;


}


myTerraService.TerraServiceSoapClient client = novo myTerraService.TerraServiceSoapClient();


Client.ConvertLonLatLatPtToNearestPlaceCompleted += novo EventHandler(client_ConvertLonLatPtToNearestPlaceCompleted);


ConvertLonLatPtToNearestPlaceAsync(novo myTerraService.LonLatPt { Lat = latitude, Lon = longitude });

Copiar e colar o seguinte método após as últimas chaves cacheadas do método button1_Click


void client_ConvertLonLonLatPtToNearestPlaceCompleted(object sender, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)


O que é que se passa?


       textBlock1.Text = e.Result;


}

Agora vamos dar uma olhada no que exatamente o código faz. No início nós obtemos os valores para a latitude e longitude criando um objeto da classe FeoCoordinateWatcher chamado myWatcher e então acessamos a latitude e longitude simplesmente acessando a propriedade de latitude e longitude da myPosition.Location. Em seguida, criamos uma chamada assíncrona para o serviço web passando a latitude e longitude. Finalmente nós simplesmente mostramos o resultado do serviço web no bloco de texto. Uma chamada assíncrona é feita para que o aplicativo permaneça responsivo mesmo enquanto o resultado do serviço web está sendo recebido.

Para saber mais sobre GPS, API de Localização e Chamada de Serviços Web, visite www.msdn.com.

Isto conclui nossa série de desenvolvimento do Windows Phone 7.5 Mango App.

Links para todas as partes desta série tutorial:(Alaska)

  1. Aprenda a desenvolver aplicações Windows Phone 7.5 Mango: Parte 1
  2. Desenvolvendo Aplicações Windows Phone 7.5 Mango: Parte 2 (HelloWorld app)
  3. Desenvolvendo aplicativos Windows Phone 7.5: Parte 3; Variáveis, tipos de dados e atribuição de valores
  4. Desenvolvendo Windows 7.5 Mango Apps, Parte 4: if statement
  5. Desenvolvendo o Windows 7.5 Mango Apps, Parte 5: Operadores, expressões, statements
  6. Desenvolvendo Windows 7.5 Mango Apps, Parte 6: Switch Statement
  7. Desenvolvendo Windows Phone Mango Apps, Parte 7: para iterações
  8. Usando métodos de ajuda simples ao desenvolver Windows Phone 7.5 Mango Apps: Parte 8
  9. Trabalhando com Strings: Windows Phone 7.5 Mango Apps Desenvolvimento – Parte 9
  10. Trabalhando com DateTime: Windows Phone 7.5 Mango Apps Development – Parte 10
  11. Compreendendo e Criando Classes: Windows Phone 7.5 Mango Apps Desenvolvimento – Parte 11
  12. Trabalhando com aulas: Windows Phone 7.5 Mango Apps Desenvolvimento – Parte 12
  13. Compreendendo Espaços de Nomes: Windows Phone 7.5 Mango Apps Desenvolvimento – Parte 13
  14. Colecção de Objectos: Windows Phone Apps Development Turorial – Parte 14
  15. Entendendo XAML: Windows Phone Apps Development Turorial – Parte 15
  16. Controles de Layout do Silverlight: Tutorial de Desenvolvimento de Aplicativos Windows Phone – Parte 16
  17. Controlos de entrada e eventos XAML: Tutorial de desenvolvimento de aplicativos do Windows Phone – Parte 17
  18. Trabalhando com o Controle de Imagem: Tutorial de Desenvolvimento de Aplicativos Windows Phone – Parte 18
  19. Trabalhando com Estilos e Recursos: Windows Phone Apps Tutorial de Desenvolvimento – Parte 19
  20. Aplicar o estilo e os recursos do tema aos controles: Windows Phone Apps Tutorial de Desenvolvimento – Parte 20
  21. Navegando entre páginas XAML: Tutorial de Desenvolvimento de Aplicações Windows Phone – Parte 21
  22. Trabalhando com a barra de aplicação: Tutorial de desenvolvimento de aplicativos Windows Phone – Parte 22
  23. Usando a Tela como um Diálogo: Tutorial de desenvolvimento do Windows Phone Apps – Parte 23
  24. Adicionando diferentes escopos de entrada: Tutorial de desenvolvimento de aplicativos Windows Phone – Parte 24
  25. GPS, API de Localização e Chamada de Serviços Web: Tutorial de Desenvolvimento de Aplicações Windows Phone – 25.


RECOMENDADO: Clique aqui para solucionar erros do Windows e otimizar o desempenho do sistema

Leave a Comment