Kezdőlap > Windows Phone 7 > GPS Koordináták lekérdezése

GPS Koordináták lekérdezése

2012. április 4. szerda Hozzászólás Go to comments

Minden Windows Phone 7 készülék rendelkezik GPS szenzorral, így saját alkalmazásunkból lekérdezhetjük a jelenlegi pozíciónkat is. Jó tudni, hogy amikor helymeghatározást szeretnénk használni, először a cella és a wifi információkat használva fel pozicionál minket, ugyanis ez gyorsabb és energiatakarékosabb, mint a GPS használata, viszont sokkal pontatlanabb.

Nézzünk egy egyszerű példát, hogyan érhetjük el az alkalmazásunkból a GPS információkat!

1. Készítsünk egy új Windows Phone 7 alkalmazást!

2. Dobjunk fel a felhasználói felületre 6 db TextBlock-ot, a nevei sorban legyenek a következők: tbLat, tbLong, tbHorAccu, tbVerAccu, tbTimeStamp, tbSpeed, a Text tulajdonsága pedig legyen egy „–„ (kötőjel)! Az elrendezésük nem lényeges.

image3. A projektünknek szüksége lesz a System.Device.dll-re. Kattintsunk a Solution Explorer-ben a References-re jobb egérgombbal, majd válasszuk ki az Add Reference menüpontot!

A megjelenő ablakban válasszuk ki a .NET fület, majd keressük ki a System.Device-t, válasszuk ki, majd kattintsunk az OK gombra!

image

4. Nyissuk meg a MainPage.xaml.cs fájlt, és oldjuk fel a System.Device.Location névteret:

using System.Device.Location;

5. Most, az egyszerűség kedvéért, a konstruktorban hozzunk létre egy GeoCoordinteWatcher példányt, aminek a pontosságát most állítsuk High-ra! Ezt követően feliratkozunk a PositionChanged eseményére, hogy értesüljünk, hogy történt-e a pozícióban valamilyen változás, valamint legvégül meghívjuk a Start metódust, és ezzel elindul a GPS szenzor (stop metódussal leállítjuk).

public MainPage()

{

    InitializeComponent();

    GeoCoordinateWatcher gcw = new GeoCoordinateWatcher(GeoPositionAccuracy.High);

    gcw.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(gcw_PositionChanged);

    gcw.Start();

}

6. Egy dolog maradt hátra: meg kell írnunk a PositionChanged esemény törzsét. Mivel most nem használtunk fel térképet, így csak kiíratjuk a jelenlegi adatokat egy-egy textblock-ba.

void gcw_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)

{

 tbLat.Text = e.Position.Location.Latitude.ToString();

 tbLong.Text = e.Position.Location.Longitude.ToString();

 tbHorAccu.Text = e.Position.Location.HorizontalAccuracy.ToString() + " m";

 tbVerAccu.Text = e.Position.Location.VerticalAccuracy.ToString() + " m";

 tbTimeStamp.Text = e.Position.Timestamp.DateTime.ToLongDateString();

 tbSpeed.Text = e.Position.Location.Speed.ToString(); ;

}

7. Ezzel tulajdonképpen kész is vagyunk. Indítsuk el az alkalmazást! A helymeghatározást használó alkalmazásokat célszerű fizikai készülékeken tesztelni, de ha éppen nincs kéznél egy, a 7.1-es SDK-tól erre is van lehetőségünk emulátorból.

8. Miután elindult az alkalmazás, kattintsunk az emulátor mellett található toolbar-on a dupla nyílra, és az Additional Tools ablak location fülén helyezzünk el pontokat! Majd ha megvan, kattintsunk a play gombra, és máris szimulálva van a koordináták változása.

image

Látható, hogy a GPS szenzor kezelése nagyon egyszerű, és ha nincs fizikai készülékünk, most már kipróbálható emulátorból is.

Reklámok
Kategóriák:Windows Phone 7 Címke: , ,
  1. pipi
    2012. május 18. péntek - 10:07

    Szép napot ! Azt szeretném megkérdezni,hogy ha valaki lekerdezi a google koordinataimat,akit felvettem a listamra,akkor én meg tudom nézni,hogy ki,hol,hányszor keresett rám ? Köszönöm a választ !üdv : k.j.

  2. 2012. május 18. péntek - 14:04

    Szia,
    Mit szeretnél pontosan? Mi az h lekérdezi valaki a Google koordinátákat? A google is csak egy térkép szolgáltatás. Amin adatokat jelenítünk meg, nem tárol semmit arról, hogy te merre jártál. Vagy mit szeretnél pontotsan?

  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: