2

位置情報の更新ごとに移動速度を計算する必要があります。

場所の更新に次のコードを使用しています。

public class FlirtLocationListener implements LocationListener
{
    @Override
    public void onLocationChanged(Location location) 
    {

                // My Code on the location update
    }
    @Override
    public void onProviderDisabled(String provider) 
    {
        Log.i("OnProviderDisabled", "OnProviderDisabled");
    }
    @Override
    public void onProviderEnabled(String provider) 
    {

        Log.i("onProviderEnabled", "onProviderEnabled");
    }
    @Override
    public void onStatusChanged(String provider, int status,
            Bundle extras) 
    {
        Log.i("onStatusChanged", "onStatusChanged");
    }
}

移動速度を取得するには?2 つの更新の間の時間と、最初の場所と次の場所の間の距離を計算する必要がありますか? それとも何か他の方法がありますか?

4

2 に答える 2

1

@jsmithが言ったように、にはgetSpeed()メソッドがありLocation.classます。

public class LocationListener implements LocationListener
    {
        @Override
        public void onLocationChanged(Location location) 
        {
               float speed = location.getSpeed();
        }
    }
于 2013-01-29T08:11:42.790 に答える
1

しかし、location.getSpeed() は null 値を返します。正確ではない可能性がある場所を取得するには、setSpeed() を指定する必要があります。したがって、簡単な数式を使用して速度を計算できます。速さ=距離÷時間。

于 2014-08-03T13:53:49.310 に答える