从GDK获得准确的速度读数

时间:2014-02-02 00:51:32

标签: google-glass

我正试图从我的玻璃获得GPS速度(显然GPS信号将通过手机传输)。使用以下代码,我能够从网络获取位置数据,但速度始终打印为0.0。使用GPS,我得到一个错误,我在下面的代码的最后一行提供了“非法参数”。获得准确一致的速度读数的最佳方法是什么?提前谢谢!

  LocationManager locationManager = (LocationManager) this
            .getSystemService(Context.LOCATION_SERVICE);


    LocationListener locationListener = new LocationListener() {
        public void onLocationChanged(Location location) {
            location.getLatitude();

            System.out.println("Location changed. Speed is: " + location.getSpeed() + " Lat: " + location.getLatitude() + " Lon: " + location.getLongitude());
        }

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

        public void onProviderEnabled(String provider) {
        }

        public void onProviderDisabled(String provider) {
        }

    };


    locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0,0, locationListener);           

1 个答案:

答案 0 :(得分:0)

请参阅:https://developers.google.com/glass/develop/gdk/location-sensors/index

从那个Glass参考 警告:不要使用LocationManager.getBestProvider()方法或常量GPS_PROVIDER或NETWORK_PROVIDER来侦听位置更新。 Glass使用一组动态提供程序,仅侦听单个提供程序可能会导致应用程序错过位置更新。

Glass文章建议您使用基于“条件”的位置参考。