2012-07-24 63 views
4

可能重复:
Detect a speed in android使用GPS捕获速度

我进入Android开发,我想开始与GPS和拍摄速度乱搞。有没有一种方法可以使用GPS轻松捕捉速度并在屏幕上显示速度?任何简单的框架或内置的函数,我可以使用?

+0

谢谢你,我做了一个搜索,没有出现。 – user964627 2012-07-24 06:05:45

回答

1

我认为有两种方法来实现这一目标:

首先,如果你在android系统是指在Location类,可以发现,它已得到了一个名为getSpeed方法。它说:

所以,你可以写,像这样

其次,你可以跟踪GPS位置更新,让你存储以前的位置,并在其中该更新发生的时间。现在,每次有新更新时,您都可以使用distanceTo类的Location类的方法找到行进的距离。因此,要知道当前速度,您可以使用公式:distance travelled/time difference between the updates

23

您将不得不使用LocationManager这是用于通过GPS获取用户位置,返回的GPS数据包括速度。您将不得不使用LocationListeneronLocationChanged(Location location)函数。

为了让你将需要这样做速度:

int speed = location.getSpeed(); 

这是米/秒,如果你需要将它转化成/ h使用公里此:

int speed=(int) ((location.getSpeed()*3600)/1000); 

如果你需要将它转换为mph使用这个:

int speed=(int) (location.getSpeed()*2.2369);