Olemme oppineet InputScopesista viimeisimmässä opetusohjelmassamme osana Windows Phone 7.5 Mango App -kehityssarjaa. Tässä oppitunnissa opimme puhelimen maailmanlaajuisesta sijainnista eli sen leveysasteesta ja pituusasteesta ja soitamme verkkopalveluun, joka ratkaisee leveys- ja pituusasteen City-, State- ja Country-muotoon.
Windows Puhelin 7 on varustettu GPS-liitännällä. Kun se yhdistetään Windows Phone 7: n sijaintipalvelusovellusliittymän kanssa, voimme käyttää sitä määrittelemään leveys- ja pituusaste eli puhelimen nykyinen sijainti. Sitten voimme määrittää nämä leveys- ja pituusarvot kaupungin, valtion ja maan määrittämiseksi. Käytämme verkkopalvelua kaupungin, valtion ja maan ratkaisemiseksi. Verkkopalvelu voidaan ajatella menetelmänä, joka kulkee internetin välityksellä. Verkkopalvelua isännöidään palvelimella, ja sen menetelmän nimi on alttiina parametreille, jotka se hyväksyy ja minkä tyyppisistä tiedoista se palaa takaisin. Voimme soittaa tällaiselle verkkopalvelulle internetin välityksellä, hakea tuloksia ja tehdä jotain mielekästä tietojen saamiseksi.
Käy siis käytännön kokemuksesta heti!
Luo uusi Windows Phone 7 -projekti, jolla on ainutlaatuinen nimi, kuten `GPSDemo`.
HorizontalAlignment = "Left"
Marginaali = "12,23,0,0"
Nimi =
Leveys = "423" />
Korkeus = "72"
Text = ""
VerticalAlignment = "Ylä"
Leveys = "160"
Click = "button1_Click" = "Left"
Margin = "275,59,0,0" " />
Yllä annetulla koodilla luodaan tyhjä tekstinlukitus ja painike, jonka sisältöominaisuus muuttuu Find Meksi. Siirry painiketta1_Klikkaa tapahtuma. Ennen kuin kirjoitamme koodin tähän, meidän on lisättävä viittaus tähän. Napsauta hiiren oikealla painikkeella projektin nimeä ratkaisun etsimessä ja valitse valikosta Lisää viite. Valitse `.Net` -välilehdellä alas ja valitse komponentin nimi `system.Device`. Napsauta OK lisätäksesi dll-tiedoston projektiin. Seuraavaksi kirjoita seuraava rivi koodin jälkeen MainPage.xaml.cs.
käyttämällä System.Device.Location;
viimeistä käyttämistä koskevaa lausetta. Luomme viittauksen verkkopalveluun. Voit tehdä tämän napsauttamalla projektin otsikkoa ja valitsemalla valikosta Lisää palveluviittaus. Kirjoita seuraava osoite `//msrmaps.com/TerraService2.asmx` osoitekenttään ja napsauta `Go`. Kun verkkopalvelu tunnistetaan Internetin kautta, näet luettelon kyseisessä verkkopalvelussa saatavilla olevista toimista. Yksinkertainen muuttaa nimeä ServiceReference1: stä myTerraServiceen ja napsauta OK-painiketta. Visual Studio rakentaa proxy-luokan, jota käytät Web-palvelun kanssa. Kun tämä on tehty, olet valmis työskentelemään puhelimen GPS-liitännän kanssa.
GeoCoordinateWatcher myWatcher = uusi GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
kaksinkertainen leveysaste = 18.916;
kaksinkertainen pituusaste = 72.9;
if (! MyPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient asiakas = uusi myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = uusi EventHandler (client_ConvertLonLatPtToNearestPlaceCompleted);
client.ConvertLonLatPtToNearestPlaceAsync (uusi myTerraService.LonLatPt {Lat = leveyttä, Lon = pituutta}
kopioi ja liitä seuraava menetelmä napautuksen viimeisten kiemurtelevien nauhojen jälkeen1_Klikkaa menetelmä
void client_ConvertLonLatPtToNearestPlaceCompleted (objektin lähettäjä, myTerraService.ConvertLonParToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Katsotaanpa nyt tarkalleen, mikä koodi on. Aluksi saamme arvot leveysasteelle ja pituudelle luomalla FeoCoordinateWatcher-luokan kohteen, jota kutsutaan myWatcheriksi, ja pääsemällä sitten leveysasteeseen ja pituusasteeseen yksinkertaisesti käyttämällä myPosition.Location leveys- ja pituusominaisuutta. Seuraavaksi luomme asynkronisen puhelun verkkopalvelulle, joka kulkee leveys- ja pituusasteen. Lopuksi näytämme yksinkertaisesti verkkopalvelun tuloksen tekstiblokissa. Asynkroninen puhelu on tehty siten, että sovellus pysyy herkästi, vaikka verkkopalvelun tulosta vastaanotetaan.
Lisätietoja GPS: stä, Location API: sta ja Calling Web Services -palveluista on osoitteessa www.msdn.com.
Tämä päättelee
Linkit kaikkiin tämän oppitunnin sarjan osiin:
Opi kehittämään Windows Phone 7.5 Mango-sovelluksia: osa 1
Windows Phone 7.5 Mango-sovellusten kehittäminen: osa 2 (HelloWorld app)
Windows Phone 7.5 -sovellusten kehittäminen: osa 3; Muuttujat, tietotyypit ja arvojen määrittäminen
Windows 7.5 Mango Appsin kehittäminen, osa 4: if statement
Windows 7.5 Mango Appsin kehittäminen, osa 5: Operaattorit, lausekkeet, lausunnot
Windows 7.5 Mango Appsin kehittäminen, osa 6: Vaihda selitys
Windows Phone Mango Appsin kehittäminen, osa 7: iterointiin
Yksinkertaisten helpermetodien käyttäminen Windows Phone 7.5: n kehittämisessä Mango-sovellukset: osa 8
Työskentely kieliväreillä: Windows Phone 7.5 Mango Apps Development -
Työskentely DateTime: Windows Phone 7,5 Mango Apps Development - Osa 10
Luokkien ymmärtäminen ja luonti: Windows Phone 7,5 Mango Apps Development - Osa 11
Luokkien käyttäminen: Windows Phone 7,5 Mango Apps Development - Osa 12
Ominaisuuksien ymmärtäminen: Windows Phone 7.5 Mango-sovellusten kehittäminen - osa 13
Objektien kokoaminen: Windows Phone Apps Development Turorial - Osa 14
XAML: Windows Phone Apps Development Turorial - Osa 15
Silverlight Layout Controls: Windows Puhelin Apps Development Tutorial - Osa 16
XAML Event ja Input Controls: Windows Phone Apps Development Tutorial - Osa 17
Työskentely kuvankäsittelyn kanssa: Windows Phone Apps Development Tutorial - Osa 18
Työskentely tyylit ja resurssit: Windows Puhelin Apps Development Tutorial - Part 19
Käytä tyyliä ja teemaresursseja ohjaimiin: Windows Phone Apps Development Tutorial - Osa 20
Navigoi XAML-sivuilla: Windows Phone Apps Development Tutorial - Osa 21
: Windows Phone Apps Development Tutorial - Osa 22
Canvas as Dialog: Windows Phone Apps Development Tutorial - Osa 23
Eri syöttösignaalien lisääminen: Windows Phone Apps Development Tutorial - Osa 24
GPS, Location API ja Calling Verkkopalvelut: Windows Phone Apps Development Tutorial - 25.