Megismertük az InputScope-ot az utolsó bemutatónkban, a Windows Phone 7.5 Mango App fejlesztői sorozatának részeként. Ebben a leckében megismerhetjük a telefon globális pozíciójának lekérdezését, azaz a szélességi és hosszúsági fokot, majd felhívhatunk egy olyan webes szolgáltatást, amely a szélességi és hosszúsági fokokat a város, az állam és az ország formátumában oldja meg.
A Windows Phone 7 egy GPS interfésszel rendelkezik. Amikor összekapcsolódik a Windows Phone Location Service API-val 7, használhatjuk a szélességi és hosszúsági fok meghatározására, vagyis a telefon jelenlegi helyzetére. Ezután ezeket a szélességi és hosszúsági értékeket használhatjuk a város, az állam és az ország meghatározására. Webhelyet használunk a város, az állam és az ország feloldására. A webes szolgáltatás interneten keresztül futó módszer. A kiszolgálón egy webszolgáltatás található, és a módszer neve megjelenik a paraméterekkel együtt, amelyeket elfogad, és milyen típusú adatokkal tér vissza. Ezt az internetes szolgáltatást interneten keresztül hívhatjuk le, találhatunk eredményeket, és valami hasznosat tehetünk a kapott adatokkal.
Hozzon létre egy új Windows Phone 7 projektet, amelynek egyedi neve, például a "GPSDemo". Másolja be és illessze be a következő xaml-kódot a Tartalomtábla-rácsba.
HorizontalAligment =”Left”
Margin =”12,23,0,0
Name =”textBlock1
Text =””
VerticalAligment =”top”
Szélesség = "423" />
Magasság =”72
HorizontalAligment =”Left”
Margin =”275,59,0,0
Name =”button1
VerticalAligment =”top”
Width =”160
Kattintson a = "button1_Click" /> gombra
A fenti kóddal egy üres szövegblokkot és egy gombot adunk meg, amellyel a tartalom tulajdonsága megváltozott a Find Me-be. Menjen a button1_Click eseményre. Mielőtt írnánk a kódot, még hozzá kell adnunk egy hivatkozást. Kattintson a jobb egérgombbal a projekt címére a megoldáskezelőben, és válassza a hivatkozás hozzáadása a menüből. A ".Net" lapon lapozzunk lefelé, és válasszuk ki a "System.Device" komponens nevét. Az OK gombra kattintva hozzáadhatja a dll fájlt a projekthez. Írja be a következő kódsorozatot a MainPage.xaml.cs utolsóként használt utasítás után.
a System.Device.Location;
Ezután hozzunk létre egy hivatkozást a webszolgáltatásra. Ehhez kattintson a projekt címére, és válassza ki a Hozzáadás szolgáltatás hivatkozást a menüből. Írja be a következő URL-címet: "https://msrmaps.com/TerraService2.asmx" a Cím szövegmezőbe, majd kattintson a "Go" gombra. Miután a webszolgáltatás az interneten keresztül került azonosításra, megjelenik az adott webszolgáltatásban elérhető műveletek listája. Egyszerűen változtasd meg a namespace-et a ServiceReference1-ről a myTerraService-re, és kattints az OK gombra. A Visual Studio felépíti a proxy osztályt, amelyet használni fog a webes szolgáltatással való együttműködéshez. Miután ez megtörtént, mindannyian a telefon GPS interfészével dolgozik. Másolja és illessze be a következő kódsorokat a button1_Click eseménybe.
GeoCoordinateWatcher myWatcher = új GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
kettős szélesség = 18.916;
kettős hosszúság = 72,9;
ha (! myPosition.Location.IsUnknown)
{
latitude = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient client = új myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = új EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (új myTerraService.LonLatPt {Lat = szélesség, Lon = hosszúság});
Másolja be és illessze be a következő módszert a button1_Click módszer utolsó görbe fogantyúi után
void client_ConvertLonLatPtToNearestPlaceCompleted (objektum feladó, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Most nézzük meg, hogy pontosan mi a kód. Először a szélességi és hosszúsági értékeket kapjuk úgy, hogy a myWatcher nevű FeoCoordinateWatcher osztály objektumát létrehozzuk, majd a szélesség és hosszúság eléréséhez egyszerűen elérjük a myPosition.Location szélességi és hosszúsági tulajdonságait. Ezután létrehozunk egy aszinkron hívást a szélessávú és hosszúsági fokot átszelő webszolgáltatáshoz. Végül egyszerűen megjelenítjük a webszolgáltatás eredményét a szövegblokkban. Az aszinkron hívás úgy történik, hogy az alkalmazás még akkor is érzékeny maradjon, amikor a webszolgáltatás eredményét fogadják.
Ezzel lezárjuk a Windows Phone 7.5 Mango App fejlesztői sorozatát.
A bemutatósor minden részéhez kapcsolódó linkek:
- Ismerje meg a Windows Phone 7.5 Mango alkalmazások fejlesztését: 1. rész
- A Windows Phone 7.5 Mango alkalmazások fejlesztése: 2. rész (HelloWorld alkalmazás)
- A Windows Phone 7.5 alkalmazások fejlesztése: 3. rész; Változók, adattípusok és értékek hozzárendelése
- A Windows 7.5 Mango Apps fejlesztése, 4. rész: ha nyilatkozat
- A Windows 7.5 Mango Alkalmazások kifejlesztése, 5. rész: Operátorok, kifejezések, kijelentések
- A Windows 7.5 Mango Apps fejlesztése, 6. rész: Switch Statement
- A Windows Phone Mango Apps fejlesztése, 7. rész: az iterációkhoz
- Az egyszerű helper módszerek használata a Windows Phone 7.5 Mango Apps fejlesztése során: 8. rész
- A stringek használata: Windows Phone 7.5 Mango Alkalmazások fejlesztése - 9. rész
- A DateTime használatával: Windows Phone 7.5 Mango Alkalmazások fejlesztése - 10. rész
- Osztályok megértése és létrehozása: Windows Phone 7.5 Mango Alkalmazások fejlesztése - 11. rész
- Munka az osztályokkal: Windows Phone 7.5 Mango Alkalmazások fejlesztése - 12. rész
- A névterek megértése: Windows Phone 7.5 Mango Alkalmazások fejlesztése - 13. rész
- Objektumgyűjtemény: Windows Phone Apps Development Turorial - 14. rész
- Az XAML megértése: Windows Phone Apps Development Turorial - 15. rész
- Silverlight Layout Controls: Windows Phone Alkalmazások fejlesztési bemutatója - 16. rész
- XAML esemény és bemeneti vezérlők: Windows Phone Alkalmazások fejlesztési bemutatója - 17. rész
- A Képvezérléssel: Windows Phone Alkalmazások fejlesztési bemutatója - 18. rész
- A stílusok és erőforrások használata: Windows Phone Apps fejlesztői bemutató - 19. rész
- Alkalmazza a stílus és a témaköröket az ellenőrzésekhez: Windows Phone Apps Development Tutorial - 20. rész
- Navigálás XAML oldalakon keresztül Oldalak: Windows Phone Alkalmazások fejlesztési bemutatója - 21. rész
- Az alkalmazássáv használata: Windows Phone Alkalmazások fejlesztési bemutatója - 22. rész
- A vászon mint párbeszédpanel használata: Windows Phone Alkalmazások fejlesztési bemutatója - 23. rész
- Különböző bemeneti képernyők hozzáadása: Windows Phone Alkalmazások fejlesztői bemutató - 24. rész
- GPS, Hely API és hívó webszolgáltatások: Windows Phone Apps fejlesztői bemutató - 25.