Windows

GPS, Location API og Calling Web Services: Vejledning til udvikling af Windows Phone Apps Development - 25

The Third Industrial Revolution: A Radical New Sharing Economy

The Third Industrial Revolution: A Radical New Sharing Economy
Anonim

Vi lærte om InputScopes i vores sidste vejledning, som en del af Windows Phone 7.5 Mango App-udviklingsserien. I denne lektion vil vi lære om hvordan man henter telefonens globale position, det vil sige dens breddegrad og længdegrad og derefter ringe til en webtjeneste, der løser breddegraden og længden i by, stat og landformat.

Windows Telefon 7 er udstyret med en GPS-grænseflade. Når det er koblet til Location Service API i Windows Phone 7, kan vi bruge det til at bestemme breddegrad og længdegrad, det vil sige den aktuelle position af telefonen. Vi kan derefter bruge disse værdier for breddegrad og længdegrad til at bestemme byen, staten og landet. Vi bruger en webservice til at løse byen, staten og landet. En webtjeneste kan betragtes som en metode, der kører over internettet. En webservice er hostet på en server, og dens metode navn er eksponeret sammen med de parametre, det vil acceptere, og hvilken type data den vil vende tilbage. Vi kan ringe sådan en webservice over internettet, hente resultater og gøre noget meningsfuldt med de opnåede data.

Så lad os få praktiske erfaringer med det samme!

Opret et nyt Windows Phone 7-projekt med et unikt navn som `GPSDemo`. Kopier og indsæt følgende xaml-kode i indholdspanelet.

HorizontalAlignment = "Left"

Margin = "12,23,0,0"

Navn =

Tekst = ""

VertikalAlignment = "Top"

Bredde = "423" />

Højde = "72"

HorizontalAlignment = "Left"

Margin = "275,59,0,0"

Navn = "knap1"

VerticalAlignment = "Top"

Bredde = "160"

Klik = "button1_Click " />

Med koden angivet ovenfor opretter vi et tomt tekstblock og en knap med indholdsegenskaben ændret til Find Me. Naviger til knappen1_Klik på begivenhed. Før vi skriver koden til dette selv skal vi tilføje en henvisning til. Højreklik på projektets titel i løsningsopdageren, og vælg Tilføj reference fra menuen. Under fanen `. Net` rul ned og vælg komponentnavnet `system.Device`. Klik på OK for at tilføje DLL-filen til dit projekt. Næste skriv følgende kode efter den sidste brugsopgørelse i MainPage.xaml.cs.

ved hjælp af System.Device.Location;

Næste opretter vi en reference til webtjenesten. For at gøre dette skal du højreklikke på projektets titel og vælge Tilføj servicehenvisning i menuen. Indtast følgende URL `//msrmaps.com/TerraService2.asmx` i adressefeltet, og klik på `Gå`. Når webtjenesten er identificeret over internettet, vil du se en liste over operationer, der er tilgængelige under denne webtjeneste. Enkelt ændre navnefeltet fra ServiceReference1 til myTerraService og klik på OK-knappen. Visual Studio bygger proxy-klassen, som du vil bruge til at arbejde med webtjenesten. Når dette er gjort, er du klar til at arbejde med telefonens GPS-interface. Kopier og indsæt følgende linjer kode i knappen1_Click-begivenheden.

GeoCoordinateWatcher myWatcher = ny GeoCoordinateWatcher ();

var myPosition = myWatcher.Position;

dobbelt breddegrad = 18.916;

dobbelt længdegrad = 72,9;

hvis (! MyPosition.Location.IsUnknown)

{

breddegrad = myPosition.Location.Latitude;

længdegrad = myPosition.Location.Longitude;

}

myTerraService.TerraServiceSoapClient klient = ny myTerraService.TerraServiceSoapClient ()

client.ConvertLonLatPtToNearestPlaceCompleted + = ny EventHandler (client_ConvertLonLatPtToNearestPlaceCompleted)

client.ConvertLonLatPtToNearestPlaceAsync (ny myTerraService.LonLatPt {Lat = bredde, Lon = længdegrad});

Kopier og indsæt følgende metode efter de sidste krøllede bånd i knappen1_Klikmetode

void client_ConvertLonLatPtToNearestPlaceCompleted (objekt afsender, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)

{

textBlock1.Text = e.Result;

}

Lad os nu se, hvad nøjagtigt koden gør. I første omgang får vi værdierne for breddegrad og længdegrad ved at oprette en genstand for FeoCoordinateWatcher klasse kaldet myWatcher og derefter få adgang til breddegrad og længdegrad ved simpelthen at få adgang til bredden og længdegraden af ​​myPosition.Location. Dernæst opretter vi et asynkront opkald til webtjenesten, der passerer bredden og længden. Endelig viser vi blot resultatet af webservice i tekstblocket. Et asynkront opkald er lavet, så applikationen forbliver lydhør selv når resultatet af webtjenesten modtages.

  1. For at lære mere om GPS, Location API og Calling Web Services, besøg www.msdn.com.
  2. Dette konkluderer
  3. Lær at udvikle Windows Phone 7.5 Mango-applikationer: Del 1
  4. Udvikling af Windows Phone 7.5 Mango-applikationer: Del 2 (HelloWorld) app)
  5. Udvikling af Windows Phone 7.5 Apps: Del 3; Variabler, datatyper og tildeling af værdier
  6. Udvikling af Windows 7.5 Mango Apps, Del 4: Hvis sætning
  7. Udvikling af Windows 7.5 Mango Apps, Del 5: Operatører, udtryk, udsagn
  8. Udvikling af Windows 7.5 Mango Apps, Del 6: Switch-erklæring
  9. Udvikling af Windows Phone Mango Apps, del 7: til iterationer
  10. Brug af enkle hjælpermetoder under udvikling af Windows Phone 7.5 Mango Apps: Del 8
  11. Arbejde med strenge: Windows Phone 7.5 Mango Apps Development - Del 9
  12. Arbejde med dato: Windows Phone 7.5 Mango Apps Development - Del 10
  13. Forståelse og oprettelse af klasser: Windows Phone 7.5 Mango Apps Development - Del 11
  14. Arbejde med klasser: Windows Phone 7.5 Mango Apps Development - Del 12
  15. Forståelse af navneområder: Windows Phone 7.5 Mango Apps Development - Del 13
  16. Indsamling af objekter: Windows Phone Apps Development Turorial - Del 14
  17. Forståelse af XAML: Windows Phone Apps Development Turorial - Del 15
  18. Silverlight Layout Controls: Windows Telefon Apps Development Tutorial - Del 16
  19. XAML Event og Input Controls: Vejledning til udvikling af Windows Phone Apps Development - Del 17
  20. Arbejde med Image Control: Vejledning til udvikling af Windows Phone Apps - Del 18
  21. Arbejde med stilarter og ressourcer: Windows Telefon Apps Development Tutorial - Del 19
  22. Anvend stil og tema ressource til kontrol: Windows Phone Apps Development Tutorial - Del 20
  23. Navigering mellem XAML Pages: Windows Phone Apps Development Tutorial - Del 21
  24. Arbejde med applikationslinjen: Vejledning til udvikling af Windows Phone Apps - Del 22
  25. Brug af lærred som dialog: Udviklingsvejledning til Windows Phone - Del 23