gpt4 book ai didi

android - location.getspeed() 更新

转载 作者:太空狗 更新时间:2023-10-29 16:22:06 24 4
gpt4 key购买 nike

我有一个小问题。我在 onLocationChanged() 方法上找到了一个 location.getSpeed() 方法,而 .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 得到修复时,从 location.distanceTo() 返回的第一个 AllDistance 是 ±50 米。

我该如何解决?

最佳答案

实际上,GPS 不会一直提供准确的信息。即使你呆在同一个地方,有时纬度和经度也会有一点不同。我认为这取决于您提供给 requestLocationUpdates(...) 方法的 minTimeminDistance

无论如何,请尝试像下面这样更改这些值。

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
1000L(minTime), 2000.0f(minDistance), myLocationListener);

希望对您有所帮助。

编辑:

您还可以做的另一件事是,根据 documentation ,如果此修复包含速度信息,location.hasSpeed() 返回 true,否则返回 false。当你呆在同一个地方时,它会返回 false 我猜。

在此基础上,您可以为 textView 等设置值。

我没有试过,但你可以试一次。

关于android - location.getspeed() 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com