Saznali smo o InputScopes u našem zadnjem udžbeniku, kao dio serijala za razvoj aplikacija Windows Phone 7.5 Mango. U ovoj će lekciji saznati kako dohvatiti globalni položaj telefona, tj. Njegovu zemljopisnu širinu i dužinu, a zatim nazvati web servis koji će riješiti geografsku širinu i dužinu u formatu Grada, države i države.
Windows Phone 7 opremljen je GPS sučeljem. Kada je povezano s uslugom Service Location Service za telefon s telefonom 7, možemo ga koristiti za određivanje zemljopisne širine i dužine, tj. Trenutnog položaja telefona. Zatim možemo koristiti ove vrijednosti zemljopisne širine i dužine da odredimo grad, državu i zemlju. Koristimo web servis za rješavanje grada, države i države. Web usluga se može smatrati metodom koja se pokreće preko interneta. Na poslužitelju se poslužuje web servis, a ime metode je izloženo zajedno s parametrima koje će prihvatiti i kakvu će vrstu podataka vratiti. Možemo nazvati takvu web uslugu preko interneta, dohvatiti rezultate i učiniti nešto smisla s dobivenim podacima.
Stvorite novi projekt Windows Phone 7 s jedinstvenim imenom poput 'GPSDemo'. Kopirajte i zalijepite sljedeći xaml kôd u ploču s pločom sadržaja.
Horizontalno =”left”
Marža =”12,23,0,0
Name =”textBlock1
Tekst =””
VerticalAlignment =”Top”
Širina = "423" />
Height =”72
Horizontalno =”left”
Marža =”275,59,0,0
Name =”BUTTON1
VerticalAlignment =”Top”
Width =”160
Kliknite = "button1_Click" />
S gore navedenim kodom kreirali smo prazan tekstualni blok i gumb s entitetom sadržaja koji je promijenjen u Find Me. Idite na gumb1_Kliknite događaj. Prije nego što napišemo kôd za to moramo dodati i referencu. Desnom tipkom miša kliknite naslov projekta u Exploreru i odaberite Dodaj referencu iz izbornika. Pod karticom '.Net' pomaknite se prema dolje i odaberite naziv komponente 'System.Device'. Kliknite U redu da biste dodali dll datoteku u svoj projekt. Sljedeće upišite sljedeći redak koda nakon zadnje izjave pomoću značajke MainPage.xaml.cs.
koristeći System.Device.Location;
Zatim krećemo poziv na web-uslugu. Da biste to učinili, kliknite naslov projekta i odaberite Dodaj referencu usluge iz izbornika. U tekstni okvir Adresa unesite sljedeći URL 'https://msrmaps.com/TerraService2.asmx' i kliknite 'Idi'. Kada se web usluga identificira preko interneta, vidjet ćete popis operacija dostupnih u toj web-usluzi. Jednostavno promijenite nazivni prostor iz ServiceReference1 na myTerraService i kliknite gumb U redu. Visual Studio gradi proxy razred koji ćete koristiti za rad s web servisom. Nakon što to učinite svi ste spremni raditi s GPS sučeljem telefona. Kopirajte i zalijepite sljedeće retke koda u gumb button1_Click.
GeoCoordinateWatcher myWatcher = novi GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
dvostruka širina = 18.916;
dvostruka dužina = 72,9;
ako (! myPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
dužina = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient client = novi myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = novi EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (novi myTerraService.LonLatPt {Lat = širina, Lon = dužina});
Kopirajte i zalijepite sljedeću metodu nakon posljednjih kovrčavih kopči metode button1_Click
void client_ConvertLonLatPtToNearestPlaceCompleted (pošiljatelj objekta, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Pogledajmo sada što točno kôd radi. U početku dobivamo vrijednosti za geografsku širinu i dužinu stvaranjem objekta FeoCoordinateWatcher klase zvanim myWatcher, a zatim pristupi geografskoj širini i dužini jednostavno pristupanjem svojstvima zemljopisne širine i dužine myPosition.Location. Sljedeće stvaramo asinkrono poziv na web uslugu koja prolazi zemljopisnu širinu i dužinu. Na kraju ćemo jednostavno prikazati rezultat web servisa u tekstualnom bloku. Došlo je do asinkronog poziva tako da aplikacija ostaje odzivna čak i kada se dobije rezultat s web servisa.
Ovo zaključuje našu seriju razvoja Windows Phone 7.5 Mango App.
Veze na sve dijelove ove serije udžbenika:
- Saznajte kako razviti Windows Phone 7.5 Mango aplikacije: 1. dio
- Razvoj Windows Phone 7.5 Mango aplikacija: 2. dio (aplikacija HelloWorld)
- Razvoj aplikacija za Windows Phone 7.5: 3. dio; Varijable, vrste podataka i dodjeljivanje vrijednosti
- Razvoj Windows 7.5 Mango aplikacija, 4. dio: ako je izjava
- Razvoj Windows 7.5 Mango aplikacija, 5. dio: Operatori, izrazi, izjave
- Razvoj Windows 7.5 Mango aplikacija, Dio 6: Izmjena izjave
- Razvoj aplikacija za Windows Phone Mango, dio 7: za iteracije
- Korištenje jednostavnih metoda pomoćnika tijekom razvoja aplikacija Windows Phone 7.5 Mango: 8. dio
- Rad s žicama: Windows Phone 7.5 Mango Apps razvoj - 9. dio
- Rad s DateTime: Windows Phone 7.5 Mango Apps razvoj - Part 10
- Razumijevanje i stvaranje klase: Windows Phone 7.5 Mango Apps razvoj - 11. dio
- Rad s klasama: Windows Phone 7.5 Mango Apps razvoj - Dio 12
- Razumijevanje imenika: Windows Phone 7.5 Mango Apps razvoj - Dio 13
- Zbirka objekata: Razvoj aplikacija za Windows Phone - dio 14
- Razumijevanje XAML: razvoj aplikacija za Windows Phone Apps - dio 15
- Silverlight kontrole izgleda: Upute za razvoj aplikacija za Windows Phone - Part 16
- XAML događaj i kontrole ulaza: Windows Phone Apps Development Tutorial - Part 17
- Rad s kontrolom slike: Windows Phone Apps Development Tutorial - Dio 18
- Rad s stilovima i resursima: Windows Phone Apps Development Tutorial - 19. dio
- Primijenite stil i tematske resurse na kontrole: Upute za razvoj aplikacija za Windows Phone - Dio 20
- Kretanje između XAML stranica: Windows Phone Apps Development Tutorial - Dio 21
- Rad s programskom trakom: Upute za razvoj aplikacija za Windows Phone - dio 22
- Korištenje platna kao dijaloga: Upute za razvoj aplikacija za Windows Phone - 23. dio
- Dodavanje različitih ulaznih optičkih polja: Upute za razvoj aplikacija za Windows Phone - dio 24
- GPS, API lokacije i pozivanje web usluga: Izrada razvojnih vodiča za Windows Phone - 25.