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 sitten verkkopalvelun, joka ratkaisee leveys- ja pituusasteen City-, State- ja Country-muotoon.
Windows Phone 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ä saaduilla tiedoilla.
Luo uusi Windows Phone 7 -projekti yksilöllisellä nimellä, kuten GPSDemo. Kopioi ja liitä seuraava xaml-koodi Content Panel Grid -ohjelmaan.
HorizontalAlignment =”Vasen”
Margin =”12,23,0,0
Name =”textBlock1
Text =””
VerticalAlignment =”top”
Leveys = "423" />
Height =”72
HorizontalAlignment =”Vasen”
Margin =”275,59,0,0
Name =”Button1
VerticalAlignment =”top”
Width =”160
Napsauta = "button1_Click" />
Yllä annetulla koodilla luodaan tyhjä tekstinlukitus ja painike, jonka sisällön ominaisuus muuttuu Etsiin. 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 koodi riviin MainPage.xaml.cs viimeisen käytön jälkeen.
käyttämällä System.Device.Location;
Seuraavaksi luodaan viittaus verkkopalveluun. Voit tehdä tämän napsauttamalla projektin otsikkoa ja valitsemalla valikosta Lisää palveluviittaus. Kirjoita seuraava osoite 'https://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. Kopioi ja liitä seuraavat koodiriviä painiketta1_Klikkaa tapahtuma.
GeoCoordinateWatcher myWatcher = uusi GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
kaksinkertainen leveysaste = 18.916;
kaksinkertainen pituusaste = 72,9;
jos (! myPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient client = uusi myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = uusi EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (uusi myTerraService.LonLatPt {Lat = leveysaste, Lon = pituusaste});
Kopioi ja liitä seuraava menetelmä painikkeen1_Klikkausmenetelmän viimeisten kiharaistukkeiden jälkeen
void client_ConvertLonLatPtToNearestPlaceCompleted (objektin lähettäjä, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Katsotaan nyt, mitä tarkalleen koodilla 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 tehdään niin, että sovellus pysyy herkästi, vaikka verkkopalvelun tulos vastaanotetaan.
Tämä päättyy Windows Phone 7.5 Mango App -kehityssarjaan.
Linkit tämän opetusohjelman sarjan kaikkiin osiin:
- Opi kehittämään Windows Phone 7.5 Mango-sovelluksia: osa 1
- Windows Phone 7.5 Mango-sovellusten kehittäminen: osa 2 (HelloWorld-sovellus)
- Windows Phone 7.5 -sovellusten kehittäminen: osa 3; Muuttujat, tietotyypit ja arvojen määrittäminen
- Kehittäminen Windows 7.5 Mango Apps, osa 4: jos lausunto
- Windows 7.5 Mango Appsin kehittäminen, osa 5: Operaattorit, lausekkeet ja lausunnot
- Kehitetään Windows 7.5 Mango Apps, osa 6: Switch Statement
- Windows Phone Mango Appsin kehittäminen, osa 7: iterointiin
- Yksinkertaisten Helper-menetelmien käyttäminen kehittämällä Windows Phone 7.5 Mango Apps: osaa 8
- Työskentely jousilla: Windows Phone 7.5 Mango Apps Development - Osa 9
- Working with DateTime: Windows Phone 7.5 Mango-sovellusten kehittäminen - 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
- Nimien väliset yhteydet: Windows Phone 7.5 Mango Apps Development - Osa 13
- Objektien kokoelma: Windows Phone Apps Development Turorial - Osa 14
- Ymmärtäminen XAML: Windows Phone Apps Development Turorial - Osa 15
- Silverlightin asetteluohjaimet: Windows Phone Apps Development Tutorial - osa 16
- XAML-tapahtumien ja tulonhallintatoimenpiteet: Windows Phone Apps Development Tutorial - Osa 17
- Kuvanhallinnan käyttö: Windows Phone Apps Development Tutorial - Osa 18
- Tyylit ja resurssit: Windows Phone Apps Development Tutorial - osa 19
- Käytä tyyliä ja teemaresursseja hallintaan: Windows Phone Apps Development Tutorial - Osa 20
- Navigoi XAML-sivuilla: Windows Phone Apps Development Tutorial - Osa 21
- Työskentely sovelluspalkkiin: Windows Phone Apps Development Tutorial - Osa 22
- Canvasin käyttäminen dialogina: Windows Phone Apps Development Tutorial - Osa 23
- Erilaisten tulosteiden lisääminen: Windows Phone Apps Development Tutorial - osa 24
- GPS, paikannusliittymä ja verkkopalvelujen soittaminen: Windows Phone Apps Development Tutorial - 25.