GPS Probleme

C

c0s4n

Neues Mitglied
0
Hallo alle zusammen.

Seit Tagen programmiere ich eine GPS-Anwendung. Unter anderem muss meine GPS-Anwendung Distanz zwischen 2 Punkten berechnen. Habe tausende Formeln gefunden die dies mir ermöglichen und die auch funktionieren, weil ich sie nehmlich getestet habe ;).
Problem ist es, dass die methode: requestLocationUpdates, immer verschiedene Werte liefert. Das heist, ich stehe auf eine Stelle und messe abstand zum anderem Punkt, er gibt mir jede Sekunde anderen Wert, so sieht es aus in m: 0.6; 1,9; 0.3; 6,3; 0,5; .... usw. Auch die GPS-Korrdinaten lon und lat sind ständig verschieden wenn ich auf eine Stelle stehe und mein handy garnicht bewege, weil es grade auf dem Boden liegt und kann sich nicht von alleine bewegen (ich konnte am besten drauf tretten :D)
Die Anforderung an meine Anwendung ist bischen groß vielleicht, dass ich um jeden cm kämpfen möchte, ich frage mich jedoch wie es die anderen machen. Wenn ich mit Auto nach HH fahre dann zeigt mir ein Navi auch nicht erst 200km nach eine sekunde später 400 dann 20 und dann wieder 200.
 
Dass die Satelitten sich bewegen steht ja ausser frage, das dein handy sich auch nicht bewegt wenn du es auf den boden legst ist auch klar. Vieleicht sind deine location request in einem zu hohen intervall eingestellt .... besteht die moeglichkeit einen puffer oder etwas in der art zu implementieren?
 
Hi.
Danke für die Hilfe.

Ich habe die requestLocationUpdate so gesetzt: erster Parameter ist der GPS-Provider, den GPS-Provider suche ich anhand der Criterien, es gibt eine Klasse mit der ich die Criterien setzten kann und dieses dem LocationManager bei der suche (mit der Methode getBestProvider(Criteria c)) übergebe. Ich suche nach den Besten Sateliten, weil ich die criterien ganz hoch gesetzt habe. Dann übegebe ich eine "1" das heist der Listener bzw. diese requestLocationUpdate soll jede 1mS aufgerufen werden, dannach übergebe ich 0.03, das heist der requestL... soll aufgerufen werden wen ich 30cm vorbei gegangen bin (im bezug auf die letzte Position).

SO sieht es aus: requestLocationUpdate(gpsProvider,1,0.3, this)
Ich habe schon gedacht, ob ich nicht auf ein mal mehrere GPS-Provider bekomme und jeder andere gibt mir veschiedene Werte, bzw abweichungen? Oder kann so was nicht sein, soll jeder bie zu mm genau Werte geben?

Was kann man mit dem puffer machen, was du erwähnt hast?
 

Ähnliche Themen

S
Antworten
4
Aufrufe
995
Sempervivum
S
R
Antworten
3
Aufrufe
1.625
Ritartet
R
H
Antworten
2
Aufrufe
932
swa00
swa00
Zurück
Oben Unten