-
1. Data: 2009-07-09 19:00:34
Temat: Aplikacja GPS pod .NET Compact Framework
Od: Krzysztof Koziarski <k...@g...com>
Witam
Mój problem/pytanie wprawdzie dotyczy C# i platformy .NET, a
konkretnie .NET Compact Framework ale także środowiska Visual Studio
2008, a postanowiłem napisać w tej grupie ponieważ nie znalazłem innej
grupy pl.comp.lang.* dla C#, a poza tym ta grupa jest jedną z
najbardziej aktywnych.
Co do mojego problemu to jest następujący:
Mam napisać aplikację pod Windows Mobile 6.1, ma to być prosta
aplikacja wykorzystująca GPS i wyświetlająca pozycję na przygotowanej
przeze mnie i wgranej na urządzenie mapie. Samo pobranie pozycji GPS
nie powinno byś trudne bo znalazłem już parę przykładów jak to zrobić,
natomiast wszystko potem jest już dla mnie dużym problemem.
Ogólna koncepcja jest taka żeby ustalić jedynie współrzędne np. lewego
górnego i prawego dolnego rogu zeskanowanej mapy a wszystkie dalsze
pozycje można będzie wyliczyć, następnie taką mapę musiałbym pociąć na
małe kwadraty przed wgraniem na urządzenie bo cała duża mapa nie
mogłaby być od razu załadowana . Potem na urządzeniu będą powiedzmy
ładowane jednocześnie tylko 9 małych kwadratów (1 na środku i reszta
otaczająca go) a w miarę przesuwania mapy nowe elementy będą ładowane
a te których nie będzie widać będą usuwane żeby oszczędzać pamięć
urządzenia. Ekran urządzenia jest oczywiście dotykowy.
No i teraz to czego absolutnie nie wiem: jak zrealizować to
przesuwanie tych 9 małych kwadratów mapy (powiedzmy ze biorę za
element środkowy i przesuwam go a wraz z nim przesuwają wszystkie
pozostałe elementy, te których przestaje być widać są usuwane, a nowe
pojawiają się w pustym miejscu - są ładowane). Nawet nie wiem jakiej
kontrolki powinienem użyć, czy to ma być PictureBox, może zestaw
kontrolek, czy coś innego. Może ktoś podsunąć jakieś rozwiązanie? Na
jakich kontrolkach to zrobić i ogólnie jak się za to zabrać? Lub też
jakieś źródło gdzie to może być opisane.
Bardzo proszę o pomoc, bo jestem początkujący w tym temacie, a
aplikację zrobić muszę...
PS. Temat założyłem wcześniej tutaj:
http://groups.google.pl/group/pl.comp.lang.c/browse_
thread/thread/15ef0a731faab955#
ale nie uzyskałem żadnej odpowiedzi
-
2. Data: 2009-07-10 03:34:49
Temat: Re: Aplikacja GPS pod .NET Compact Framework
Od: "Mariusz Marszałkowski" <b...@N...gazeta.pl>
Krzysztof Koziarski <k...@g...com> napisał(a):
> Bardzo prosz=EA o pomoc, bo jestem pocz=B1tkuj=B1cy w tym temacie, a
> aplikacj=EA zrobi=E6 musz=EA...
Nie znam kompletnie interfejsów jakimi masz się posłużyć. Ale ogólnie
od strony programistycznej to jest dość proste. Np. ustalasz rozmiar
wyświetlanej mapy, np. 1x1km. Później ustalasz pozycję gdzie jesteś,
np. jest to punkt (x,y). Więc interesuje Cię mapa ograniczona kwadratem
o współrzędnych (x-500,y-500) (x+500,y+500). Współrzędne x rozciągają się
od x-500 do x+500. Dzielisz ten obszar na trzy pionowe paski:
x-500,x-166,x+166,x+500. Tak samo dzielisz w poziomie. Wychodzi Ci 9 kwadratów.
Sprawdzasz czy kwadraty masz zapamiętane lokalnie. Jeśli są zapamiętane to
odrysowujesz z pamięci lokalnej. Jeśli nie masz zapamiętanych to odpytujesz
o dane mapy, zapamiętujesz lokalnie i odrysowujesz. W międzyczasie
sprawdzasz czy nie zapełniłeś pamięci. Możesz też zapamiętywać ostatnie
położenie. Jeśli położenie bieżące jest zbyt blisko ostatniego to nie
dokonujesz aktualizacji mapy. Będziesz musiał pobrać rozdzielczość
ekranu aby przeskalować obraz mapy.
Musisz poznać elementy C# do operacji na bitmapach, musisz poznać
protokół pobierający dane o mapie i położeniu i sprawa wydaje się prosta -
czasochłonna ale prosta.
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
-
3. Data: 2009-07-10 08:14:20
Temat: Re: Aplikacja GPS pod .NET Compact Framework
Od: Pawel X <p...@g...pl>
> Mam napisać aplikację pod Windows Mobile 6.1, ma to być prosta
> aplikacja wykorzystująca GPS i wyświetlająca pozycję na przygotowanej
> przeze mnie i wgranej na urządzenie mapie.
Przejrzyj źródła aplikacji gpsVP :
http://code.google.com/p/gpsvp/
Możesz je ściągnąć z repozytorium SVN :
svn checkout http://gpsvp.googlecode.com/svn/trunk/ gpsvp-read-only
gpsVP jest napisany w C++ ( ale powinien bez problemu dać się
przenieść na C# ) i działa zarówno na Windows Mobile, jak i
na Windows XP.
W obecnych wersjach gpsVP może w tle wyświetlać zarówno
wektorowe mapy Garmina, jak i mapy rastrowe z różnych źródeł
( głównie mapy Google'a i OpenStreetMap, ale również mapy
pocięte na małe pliki ).
O używaniu map rastrowych masz w wiki całą sekcję informacji :
http://code.google.com/p/gpsvp/wiki/UsingScannedMaps
--
Paweł Księżopolski