我试图计算健身应用的跑步路线距离 我试图找到我当前的位置,然后在5个seconeds找到新位置,计算距离然后将它们全部加之后将当前位置刷到上一个位置并更新新的当前位置但我认为它总是需要相同的位置和距离留在0。
这里是代码示例 -
public void onLocationChanged(Location location) {
//location is the location of user
PrvLoc = new Location(MyLoc);
MyLoc = new Location(location);
Toast.makeText(Running_Activity.this, "" + location.getLatitude() + " , " + location.getLongitude(), Toast.LENGTH_SHORT).show();
Distance += PrvLoc.distanceTo(location);
d.setText("" + Distance+" Km");
s.setText("" + MyLoc.getSpeed()+" Km/h");
}
答案 0 :(得分:0)
这将是实现此功能的一种糟糕方式。 GPS太嘈杂和不准确。当您总结不准确的值时,您的最终结果比单个值更不准确。在几英里的长度内完成此操作与实际行程长度无关。
您当然可以这样做,但您要么必须实施大量平滑,要么合并其他数据来源,例如步数。