GPS, lokalizácia API a volanie webových služieb: Windows Phone Apps Vývojový výcvik - 25

GPS, lokalizácia API a volanie webových služieb: Windows Phone Apps Vývojový výcvik - 25
GPS, lokalizácia API a volanie webových služieb: Windows Phone Apps Vývojový výcvik - 25

Video: GPS, lokalizácia API a volanie webových služieb: Windows Phone Apps Vývojový výcvik - 25

Video: GPS, lokalizácia API a volanie webových služieb: Windows Phone Apps Vývojový výcvik - 25
Video: Fix Windows Vista update error 80072EFE - YouTube 2024, Apríl
Anonim

Naučili sme sa o InputScopes v našom poslednom tutoriále ako súčasť vývojovej série Windows Phone 7.5 Mango App. V tejto lekcii sa dozvieme, ako získať celkovú pozíciu telefónu, to znamená jeho zemepisnú šírku a dĺžku, a potom zavolajte webovú službu, ktorá vyrieši zemepisnú šírku a dĺžku do formátu mesta, štátu a krajiny.

Windows Phone 7 je vybavený rozhraním GPS. V spojení s rozhraním Location Service API telefónu Windows 7 môžeme použiť na určenie zemepisnej šírky a dĺžky, t.j. aktuálnej pozície telefónu. Potom môžeme tieto hodnoty zemepisnej šírky a dĺžky použiť na určenie mesta, štátu a krajiny. Na vyriešenie mesta, štátu a krajiny používame webovú službu. Webovú službu možno považovať za metódu, ktorá prechádza cez internet. Webová služba je hosťovaná na serveri a jeho názov je exponovaný spolu s parametrami, ktoré bude akceptovať a aký typ údajov sa vráti späť. Môžeme volať takúto webovú službu cez internet, získať výsledky a urobiť niečo zmysluplné s získanými údajmi.

Takže poďme získať ruky na praktické skúsenosti hneď!
Takže poďme získať ruky na praktické skúsenosti hneď!

Vytvorte nový projekt Windows Phone 7 s jedinečným menom, ako je "GPSDemo". Skopírujte a vložte nasledujúci kód xaml do tabuľky panelu obsahu.

HorizontalAlignment = "ľavý"

Margin = "12,23,0,0"

Name = "textBlock1"

Text = ""

VerticalAlignment = "Top"

Šírka = "423" />

Výška = "72"

HorizontalAlignment = "ľavý"

Margin = "275,59,0,0"

Name = "Button1"

VerticalAlignment = "Top"

Width = "160"

Kliknite na tlačidlo = "button1_Click" />

S vyššie uvedeným kódom vytvoríme prázdny textový blok a tlačidlo s vlastníctvom obsahu sa zmenilo na Find Me. Prejdite na udalosť button1_Click. Než napíšeme tento kód, musíme pridať odkaz. Kliknite pravým tlačidlom myši na názov projektu v aplikácii Explore Explorer a zvoľte položku Add Reference z ponuky. Na karte ".Net" prejdite nadol a vyberte názov komponentu "System.Device". Kliknutím na tlačidlo OK pridajte súbor DLL do projektu. Ďalej napíšte nasledujúci riadok kódu po poslednom použití pomocou príkazu MainPage.xaml.cs.

pomocou System.Device.Location;

Ďalej vytvoríme odkaz na webovú službu. Ak to chcete urobiť, kliknite pravým tlačidlom myši na názov projektu a zvoľte položku Add Service Reference. Do textového poľa Adresa zadajte nasledujúcu adresu URL "https://msrmaps.com/TerraService2.asmx" a kliknite na tlačidlo "Choď". Po identifikácii webovej služby cez internet uvidíte zoznam operácií dostupných v rámci tejto webovej služby. Jednoduchá zmena priestoru názvov z ServiceReference1 na myTerraService a kliknite na tlačidlo OK. Visual Studio vytvára triedu proxy, ktorú budete používať na prácu s webovou službou. Akonáhle sa to stane, všetci sa rozhodnete pracovať s rozhraním GPS telefónu. Skopírujte a vložte nasledujúce riadky kódu do udalosti button1_Click.

GeoCoordinateWatcher myWatcher = nový GeoCoordinateWatcher ();

var myPosition = myWatcher.Position;

dvojitá šírka = 18.916;

dvojnásobná dĺžka = 72,9;

ak (! myPosition.Location.IsUnknown)

{

latitude = myPosition.LocationLatitude;

dĺžka = myPosition.Location.Longitude;

}

myTerraService.TerraServiceSoapClient client = nový myTerraService.TerraServiceSoapClient ();

client.ConvertLonLatPtToNearestPlaceCompleted + = nový EventHandler(Client_ConvertLonLatPtToNearestPlaceCompleted);

client.ConvertLonLatPtToNearestPlaceAsync (nová myTerraService.LonLatPt {Lat = zemepisná šírka, Lon = zemepisná dĺžka});

Skopírujte a prilepte nasledujúcu metódu po posledných krovícoch metódy button1_Click

void client_ConvertLonLatPtToNearestPlaceCompleted (odosielateľ objektu, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)

{

textBlock1.Text = e.Result;

}

Teraz sa pozrime na to, čo presne to urobil kód. Najprv získame hodnoty pre zemepisnú šírku a dĺžku vytvorením objektu triedy FeoCoordinateWatcher s názvom myWatcher a potom prístup k zemepisnej šírke a dĺžke jednoduchým prístupom k vlastnostiam zemepisnej šírky a dĺžky myPosition.Location. Ďalej vytvoríme asynchrónny hovor pre webovú službu prechádzajúcu zemepisnú šírku a zemepisnú dĺžku. Nakoniec jednoducho zobrazujeme výsledok webovej služby v textovom bloku. Asynchrónny hovor sa uskutoční tak, aby aplikácia zostala citlivá aj pri prijímaní výsledkov z webovej služby.

Ak sa chcete dozvedieť viac o GPS, API pre lokality a webové služby pre telefonovanie navštívte stránku www.msdn.com.
Ak sa chcete dozvedieť viac o GPS, API pre lokality a webové služby pre telefonovanie navštívte stránku www.msdn.com.

Toto ukončí našu sériu vývoja aplikácií Windows Phone 7.5 Mango App.

Odkazy na všetky časti tejto série tutoriálov:

  1. Naučte sa vyvíjať aplikácie Windows Phone 7.5 Mango aplikácie: Časť 1
  2. Vývoj aplikácií Windows Phone 7.5 Mango: Časť 2 (aplikácia HelloWorld)
  3. Vývoj aplikácií Windows Phone 7.5: časť 3; Premenné, typy údajov a priradenie hodnôt
  4. Vývoj aplikácií Windows 7.5 Mango Apps, časť 4: if statement
  5. Vývoj aplikácií Windows 7.5 Mango Apps, časť 5: Operátori, výrazy, vyhlásenia
  6. Vyvíjanie aplikácií Windows 7.5 Mango Apps, časť 6: Vyhlásenie prepínača
  7. Vyvíjanie aplikácií Windows Phone Mango Apps, časť 7: pre iterácie
  8. Použitie jednoduchých metód pomocníka pri vývoji aplikácií Windows Phone 7.5 Mango Apps: Časť 8
  9. Práca so strunami: Windows Phone 7.5 vývoj aplikácií Mango - časť 9
  10. Práca s DateTime: Windows Phone 7.5 Mango Apps rozvoj - časť 10
  11. Porozumenie a vytváranie tried: Windows Phone 7.5 vývoj aplikácií Mango - časť 11
  12. Práca s triedami: Windows Phone 7.5 vývoj aplikácií Mango - časť 12
  13. Pochopenie priestoru pre mená: Windows Phone 7.5 Rozvoj aplikácií Mango - časť 13
  14. Zbierka objektov: Vývojový turník Windows Phone Apps - časť 14
  15. Pochopenie XAML: Windows Phone Apps vývoj Turorial - časť 15
  16. Ovládacie prvky rozloženia Silverlight: Vývojový nástroj Windows Phone Apps - časť 16
  17. Ovládanie udalostí a vstupov XAML: Vývojový nástroj Windows Phone Apps - časť 17
  18. Práca s ovládaním obrázkov: Tutorial vývoja aplikácií Windows Phone Apps - časť 18
  19. Práca so štýlmi a zdrojmi: Windows Phone Apps Development Tutorial - časť 19
  20. Použite zdroj štýlov a tém na ovládacie prvky: Tutorial vývoja aplikácií Windows Phone Apps - časť 20
  21. Navigácia medzi stránkami XAML: Tutorial vývoja aplikácií Windows Phone Apps - časť 21
  22. Práca s aplikačnou lištou: Vývojový program Windows Phone Apps - časť 22
  23. Použitie plátna ako dialóg: Vývojový program Windows Phone Apps - časť 23
  24. Pridanie rôznych vstupných prístrojov: Nástroj pre vývoj aplikácií Windows Phone Apps - časť 24
  25. GPS, lokalizácia API a volanie webových služieb: Windows Phone Apps Vývojový výcvik - 25.

Odporúča: