我有一个小问题。我在location.getSpeed()
方法上找到了一个方法onLocationChanged()
,当我呆在同一个地方时,.getSpeed()
通常不会更新/更改为 0km/h。
我应该在哪里找到一个location.getGpeed()
方法,当我留在原地时更新显示 0km/h?
还有一个问题。这是我的locationListener
:
private final LocationListener locationListener = new LocationListener()
{public void onLocationChanged(Location location) {
boolean var = false;
float distance;
if (firstRun) { distance=0; firstRun=false; }
else
distance = location.distanceTo (startLocation);
Tspeed.setText("0km/h");
if (location.getSpeed()!=0)
{
Tspeed.setText(""+(location.getSpeed()*3600/1000 +"km/h"));
}
else
{
Tspeed.setText("0km/h");
}
sAllDistance += distance; //
startLocation=location;
Tdistance.setText(""+(int)SAllDistance+" m");
}
问题是:当LocationManager
得到修复时,第一个AllDistance
返回的距离location.distanceTo()
是±50米。
我该如何解决?