Android GPS获得驾驶汽车的速度

时间:2015-01-20 11:29:05

标签: java android gps

我的android手机如何通过GPS获得驾驶汽车的速度? 你能给我一个例子,它可以从GPS获得汽车位置并获得速度吗?

任何建议都是有帮助的。 非常感谢你。

3 个答案:

答案 0 :(得分:5)

该位置具有您通过getSpeed()方法获得的属性速度。

GPS接收器芯片根据距离和时间关系确定速度。 它使用多普勒频移效应,可提供更精确的速度。 速度越高,它就越精确。在10公里/小时以下它不能很好地运作。

答案 1 :(得分:1)

    // Acquire a reference to the system Location Manager
    LocationManager locationManager = (LocationManager) this
            .getSystemService(Context.LOCATION_SERVICE);

    // Define a listener that responds to location updates
    LocationListener locationListener = new LocationListener() {
        public void onLocationChanged(Location location) {
            location.getLatitude();
            Toast.makeText(context, "Current speed:" + location.getSpeed(),
                    Toast.LENGTH_SHORT).show();

        }

        public void onStatusChanged(String provider, int status,
                Bundle extras) {
        }

        public void onProviderEnabled(String provider) {
        }

        public void onProviderDisabled(String provider) {
        }
    };
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
            0, locationListener);

    }

答案 2 :(得分:0)

使用Android locationmanager,您可以获取最新的最新已知location,并且在位置类getSpeed()方法中会有更快的速度

the speed if it is available, in meters/second over ground.

If this location does not have a speed then 0.0 is returned. 

另一种方法是使用位置管理器&找到两个位置之间的距离。提供者和位置有一种方法可以以米distanceTo(Location)

获得距离

将距离转换为米,并使用getTime()从位置类获取时间并应用速度公式(速度=距离/时间)