Reluam subiectul Windows Mobile GPS apps Cookbook (http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx).
in completarea acelui blog post , avem acuma poze si explicatii detailate astfel incit sa va fie foarte usor de a rula/testa/modifica acest sample de baza pomenit in post.
Pasul 1, copiem exemplul din Windows Mobile 6 SDK (C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS) in o alta locatie, nu vrem sa facem modificari pe un sample nu? 
In noua locatie deschidem solutia, daca folosim Visual Studio 2008, va aparea Conversion Wizardul:

Finish sau next cu defaults will do
.
Solutia se deschide in care am 3 proiecte, un DLL cu core operatiile de GPS Microsoft.WindowsMobile.Samples.Location un proiect care foloseste aceast DLL sa afiseze datele (numeric relativ raw, nu va asteptati la o harta) in o WinForm GpsSample. Si un proiect de setup pentru toate astea SetupGPS.
Da sa luam, pe rind, proiectele Microsoft.WindowsMobile.Samples.Location siGpsSample, click dreapta si Upgrade Project si Yes la dialogul de confirmare.

Deci acuma targetam latest .Net Compact Framework
Sa dam un F5 sa vedem ce se intimpla. La deploy am ales emulatorul de 6.5.
Avem un WinForm cu un meniu, utilizind meniul sa dam drumul la GPS

Si asta cam obtinem:

Ceeace e destul de normal ca emuulatorul nu vede nimic GPS deci va ramine asa "till kingdom come", daca nu gasim o modalitate sa ii dam date.
Ar trebui sa instalam FakeGPS (asta e versiunea pas cu pas si cu poze multe a celei de pe MSDN http://msdn.microsoft.com/en-us/library/bb158722.aspx) pe device si deci pentru inceput cradle the device (ca sa avem retea si sa copiem cabs).

Pe (Vista si 7) se deschide Windows Mobile Device Center (pe restul ActiveSync), spunem ca nu vrem (Connect without..) sa setam device (nu vrem sa replicam contactele si restul pe emulator)

"Deschidem" file system device (Browse the contents...). Nota: Nu e singura metoda (stilul asta "ActiveSync" ) de a vedea file system device si a copia fisiere, dar eu zic ca e cea mai comuna si probabil cea mai familiara.

In folderul de pe device \Temp copiem instalarea de FakeGPS (care se gaseste aici C:\Program Files\Windows Mobile 6 SDK\Tools\GPS, si se numeste FakeGPS.Cab).
Pe device deschidem un FileExplorer

Navigam la folderul Temp si lansam instalarea lui FakeGPS

Si FakeGPS acuma in lista de programe

Sa copiem pe device (folosind tot Browse the contents... ) si un fisier nmea inregistrat de noi (locatia in care se uita FakeGPs e \Program Files\FakeGPS\GPSFiles, si extensia cautata este txt ).

Fisier care contine inregistrarea unui drum la Valea lui Liman...
Sa pornim FakeGPS si sa il activam (enable) si sa alegem fisierul cu pricina.

Done. Sa vedem acuma aplicatia noastra ce va arata.

Deci acuma avem date. Nu spun prea mult asa, dar dupa un ochi in surse vedem ca afisam tot ce ne trimite GPS (da si solutia
).
Ca si pont puteti folosi FakeGPS ca sa dati date la un program de navigatie (si solutia are aplicabilitate peste nivelul de farse
)
De exemplu fiserul nmea inregistrat (cel folosit si mai sus) folosit ca feed in programul de navigatie de pe telefonul meu:

Atentie se mai intimpla sa se schimbe si ora device dupa ora/ziua/anul din fisierul nmea (AFAIK exista comanda NMEA pentru asta). Da, telefonul meu a ajuns in 2003
.
Ca formatul NMEA e puternic, si pentru curiosi, tot ce vreti sa stiti si tot ce nu vreti sa stiti
despre NMEA am dat de site asta http://vancouver-webpages.com/peter/nmeafaq.txt.
Sa concluzionam, avem din cutie suport pentru folosirea GPS in aplicatiile noastre proiectul Microsoft.WindowsMobile.Samples.Location. Care il putem folosi ca atare sau refactoriza/modifica dupa cum vrem. Subliniez ca exista o zona sensibile la modificari GPSPosition la care adaugare de membrii si modificarea de tipuri poate face probleme. M-as astepta, poate, ca DLL asta sa intre in noul compact framework, pe de o parte ar avea sens pe de alta nu ar mai putea fi atita customizat.
FakeGPS, de fapt mecanismul din spate, pentru ca FakeGPS scrie doar niste key in registry pentru GPS Intermediate Driver care e actorul activ, are ceva potential de folosire in aplicatiile noastre. De exemplu vrem sa facem un replay de drum facut de altcineva, folosind acest mecanism putem folosi pentru display programul nostru de navigatie preferat. De fapt cred ca functia de simulare traseu a navigator meu asa si merge. Deci setarile astea de feed GPS data din fisier sint de tinut minte, ca pot fi tare utile.
Sper ca aceste 2 blog post (acesta si http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx ) sa va fie suficient sa va faca curiosi macar sa scrieti aplicatii Windows Mobile (cu GPS). Tehnologia e cool, si folosirea GPS e sexy (si suna bine povestit la o bere cu aratat aplicatia
), si nu prea sint romani cu aplicatii pe Windows Marketplace (http://developer.windowsphone.com/marketplace.aspx) si zic ca ar fi timpul.
Posted
Wed, Nov 25 2009 12:14 PM
by
MrSmersh