Bonjour à tous,
je développe une application qui entre autre permet de connaitre la distance parcourue.
Pour cela j'utilise le script suivant dans la méthode onLocationChanged(Location location )

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
//Calcul de la vitesse
                //calcul de la vitesse
		if(location.getAccuracy()>50)
		{
			vitesse=0;
		}
		else
		{
			vitesse=location.getSpeed();
		}
 
		//Calcul de la distance entre les deux coordonnées gps
		locationA = new Location("point A");
		locationA.setLatitude(lastLatitude);
		locationA.setLongitude(lastLongitude);
 
		locationB = new Location("point B");
		locationB.setLatitude(location.getLatitude());
		locationB.setLongitude(location.getLongitude());
 
 
               lastLatitude = location.getLatitude();
               lastLongitude = location.getLongitude();
 
//Calcul de la distance en éliminant les points abérants
			if(Double.valueOf(locationA.distanceTo(locationB)) <= vitesse*temps)
			{
				distance = String.valueOf(Double.valueOf(distance)+Double.valueOf(locationA.distanceTo(locationB))/1000);
			}
			else
			{
				distance = String.valueOf(Double.valueOf(distance)+Double.valueOf(vitesse*temps)/1000);
			}
la vitesse est données en m/s et le temps en seconde.
Le pas de l'acquisition est de 1 seconde.

Mon problème est que la distance est toujours sous estimée par rapport à celle que je mesure via l'application "mes Parcours" de google.

Quelqu'un aurait il une idée ?