現在、GooglePlayServicesを使用してスピードを上げようとしています。スピード値が正しく取得できない - キャスティングが機能しない
私はサービスに接続してその場所の更新を取得しましたが、問題の人のスピードを上げることに問題があります。つまり、時間と距離を分けるのが難しいです。
私は前にこれを投稿しましたが、誰かが長時間キャスティングすることで問題を解決できると提案しました。それはすぐに重複してマークされたので、私は議論を続けることはできませんでしたが、私はそれがうまくいかないと言いたいと思っていました。
以下は私の現在のコードです。
float Distance = OldLocation.distanceTo(location);
//Getting Difference in seconds
long TimeDiff = location.getTime()-OldLocation.getTime();
float SecondDiff = TimeUnit.MILLISECONDS.toSeconds(TimeDiff);
//Finally working out speed (m/s)
if (SecondDiff == 0) {
SecondDiff = 1;
}
float Speed = ((long)Distance/SecondDiff);
速度は適切な値ではなく0になります。私はそれに長く投げた、しかしそれは拒否した。
私も試した:ここに私の問題の原因かもしれない何
float Speed = ((long)Distance/(long)SecondDiff);
と
float Speed = (long)(Distance/SecondDiff);
?
フロートF =((ロング)(距離/ SecondDiff))に従ってFloatValue(); –
はfloatValueメソッド –
を解決できませんが、なぜfloatからlongにキャストして浮動小数点にするのですか? –