Me õppisime InputScopes meie viimast juhendamist Windows Phone 7.5 Mango rakenduste arendusserveri osana. Selle õppetundi käigus saate teada, kuidas telefoni ülemaailmset positsiooni, st selle laius- ja pikkuskraadi, ja seejärel helistada veebiteenusele, mis lahendab laiuskraadi ja pikkuskraadi linna-, riigi- ja riigiformaadiks.
Windows Phone 7 on varustatud GPS-liidesega. Kui ühendate Windowsi telefon 7 teeninduspiirkonna API-ga, võime seda kasutada laius- ja pikkuskraadi kindlaksmääramiseks, nt telefoni praeguseks asukohaks. Seejärel võime linna, riigi ja riigi määramiseks kasutada neid laius- ja pikkuskraadi väärtusi. Me kasutame linna, riigi ja riigi lahendamiseks veebiteenust. Veebiteenust saab mõelda kui interneti kaudu töötavat meetodit. Veebiteenindus on serveris hostitud ja selle meetodi nimi on avatud koos parameetritega, mida ta aktsepteerib ja milliseid andmeid ta tagasi saadab. Me võime sellist veebiteenust interneti kaudu helistada, saada saadud tulemusi ja teha midagi olulist.
Loo uus Windows Phone 7 projekt, millel on ainulaadne nimi nagu "GPSDemo". Kopeerige ja kleepige sisumälu võrgust järgmine xaml-kood.
HorizontalAlignment = "vasakule"
Marginaal = "12,23,0,0"
Nimi = "textBlock1"
Tekst = ""
VerticalAlignment = "Üles"
Laius = "423" />
Kõrgus = "72"
HorizontalAlignment = "vasakule"
Marginaal = "275,59,0,0"
Nimi = "nupp1"
VerticalAlignment = "Üles"
Laius = "160"
Klõpsake = "button1_Click" />
Eespool toodud koodiga loome tühja tekstikloki ja nupu, mille sisu vara on muudetud Find Me. Liikuge nupule1_Click sündmusele. Enne koodi kirjutamist peame isegi lisama viite sellele. Paremklõpsake lahtilooja uurimises projekti pealkirja ja valige menüüst Lisa viide. Vahekaardil ".Net" kerige alla ja valige komponendi nimi "System.Device". Dll-faili lisamiseks oma projekti klõpsake OK. Järgmisena sisestage järgmine rida koodi pärast viimast kasutusel olevat avaldist MainPage.xaml.cs-is.
kasutades System.Device.Location;
Järgnevalt loome viite veebiteenusele. Selleks paremklõpsake projekti pealkirja ja valige menüüst käsk Add Service Reference. Sisestage aadressi tekstikasti järgmine URL-aadress: "https://msrmaps.com/TerraService2.asmx" ja klõpsake "Mine". Kui veebiteenus on internetis tuvastatud, näete selle veebiteenuse kaudu kättesaadavaid toiminguid. Lihtsalt muutke Namespace alates ServiceReference1 myTerraService ja klõpsake nuppu OK. Visual Studio loob proksiklassi, mida kasutad veebiteenusega töötamiseks. Kui see on tehtud, on kõik seadistatud töötama telefoni GPS-liidesega. Kopeerige ja kleepige nupu 1_Click üritusel järgmised koodiridad.
GeoCoordinateWatcher myWatcher = uus GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
kahekordne laius = 18,916;
kahekordne pikkus = 72,9;
kui (! myPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
pikkus = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient klient = uus myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = uus EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (uus myTerraService.LonLatPt {Lat = laiuskraad, Lon = pikkuskraad});
Kopeerige ja kleepige järgmine meetod pärast nupu1_Click meetodi viimaseid lokkide piire
void client_ConvertLonLatPtToNearestPlaceCompleted (objekti saatja, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Nüüd vaatame, mida täpselt koodi teeb. Esmalt saadakse laius- ja pikkuskraadi väärtused, luues FeOCoordinateWatcheri objekti nimega myWatcher ja seejärel pääsete laius- ja pikkuskraadile lihtsalt, kui pääsete juurde myPosition.Location asukoha laius- ja pikkuskraadile. Seejärel loome võrguteenusele asünkroonse kõne laius- ja pikkuskraadini. Lõppkokkuvõttes kuvame tekstiväljale lihtsalt veebiteenuse tulemuse. Asünkroonne kõne tehakse nii, et rakendus jääb reageerivaks isegi siis, kui veebiteenuse tulemus saadakse.
See lõpeb meie Windows Phone 7.5 Mango rakenduse arendusserveriga.
Viited selle juhendaja seeria kõikidele osadele:
- Õppige arendama Windows Phone 7.5 Mango rakendusi: 1. osa
- Windows Phone 7.5 arendamine Mango rakendused: 2. osa (rakendus HelloWorld)
- Windows Phone 7.5 rakenduste arendamine: 3. osa; Muutujad, andmetüübid ja väärtuste määramine
- Windows 7.5 Mango rakenduste arendamine, 4. osa: kui avaldus
- Windows 7.5 Mango rakenduste arendamine, 5. osa: operaatorid, väljendid, avaldused
- Windows 7.5 Mango rakenduste arendamine, 6. osa: lülitusteade
- Windows Phone Mango rakenduste arendamine, 7. osa: iteratsioonide jaoks
- Windowsi telefoni 7.5 Mango rakenduste arendamisel lihtsate abimeetodite kasutamine: 8. osa
- Töö stringidega: Windows Phone 7.5 Mango rakenduste arendamine - 9. osa
- Working Timetime: Windows Phone 7.5 Mango Apps Development - 10. osa
- Klasside mõistmine ja loomine: Windows Phone 7.5 Mango Apps Development - 11. osa
- Klasside kasutamine: Windows Phone 7.5 Mango Apps Development - 12. osa
- Nimeruumide mõistmine: Windows Phone 7.5 Mango rakenduste arendamine - 13. osa
- Objektide kogu: Windowsi telefonirakenduste arendamise turundusstrateegia - 14. osa
- XAMLi mõistmine: Windowsi telefoniprogrammide arendusvõimalused - 15. osa
- Silverlighti paigutuse juhtimine: Windowsi telefoni rakenduste arendusjuhend - 16. osa
- XAML sündmuse ja sisestuse juhtelemendid: Windowsi telefoniprogrammide arendusjuhend - osa 17
- Töötamine pildikontrolliga: Windowsi telefoniprogrammide arendusjuhend - osa 18
- Stiilide ja ressursside kasutamine: Windowsi telefonirakenduste arendusjuhend - osa 19
- Rakendage juhtelemente stiili ja teema ressursse: Windowsi telefoniprogrammide arendusjuhend - osa 20
- XAML-i lehekülgede sirvimine: Windowsi telefoniprogrammide arendusjuhend - osa 21
- Rakenduse riba töötamine: Windowsi telefoniprogrammide arendusjuhend - osa 22
- Kasti kasutamine dialoogina: Windowsi telefonirakenduste arendusjuhend - osa 23
- Erinevate sisendkäskude lisamine: Windowsi telefoniprogrammide arendusjuhend - osa 24
- GPS, asukoha API ja veebiteenuste väljakutse: Windowsi telefoniprogrammide arendusjuhend - 25.