Hallo Filippo
Da grundsätzlich jede einzelne GPS-Messung für sich einen Fehler aufweist (im Bereich einiger Meter), können mehrere hintereinander folgende Messungen im Stand i.d.R. auch nie identisch sein, d.h. auch bei stehendem Fahrzeug wird "locDistance" praktisch immer > 0 sein (und damit auch die berechnete Geschwindigkeit zwischen zwei aufeinander folgenden Messungen).
Mit der Funktion "Start" kannst Du allerdings dem GPS-Objekt Minimum-Werte mitgeben, die bestimmen, wann der GPS LocationChanged-Event ausgelöst wird:
Start (MinimumTime As Long, MinimumDistance As Float)
Starts listening for events.
MinimumTime - The shortest period (measured in milliseconds) between events. Pass 0 for highest frequency.
MinimumDistance - The shortest change in distance (measured in meters) for which to raise events. Pass 0 for highest frequency.
Wenn Du "MinimumDistance" nun auf >0 Meter einstellst (z.B. auf 10 m), dann wird der GPS LocationChanged-Event nur dann ausgelöst, wenn sich der Standort zweier aufeinanderfolgender GPS-Messungen um mehr als 10 m unterscheidet (Achtung: "MinimumTime" muss aber auf 0 gestellt werden, da die beiden Werte "MinimumDistance" und "MinimumTime" in der Start-Funktion "UND-verknüpft" werden.
Damit hast Du dann praktisch die permanent auch im Stand auftretenden kleinen Messunterschiede "ausgefiltert".
Wenn Du die Zeit zwischen zwei LocationChanged-Events überwachst, kannst Du bei Überschreiten einer gewissen Zeitspanne T (z.B. 2 Sekunden) die Geschwindigkeitsanzeige auf 0,00 Km/h stellen (Bei MinimumDistance=10 und T=2 bedeutet ein Überschreiten dieser Zeitspanne, dass die Geschwindigkeit unter 5 m/sek. gesunken ist).
Mit den Werten MinimumDistance und T kannst Du natürlich "spielen", bis das Egebnis am günstigsten ist.
Die GPS-Fehler selber kann man natürlich nicht beseitigen, aber man kann sie in der Applikation zumindest - wie dargestellt- ein wenig "unterdrücken"
Viele Grüsse
Klaus