我正试图从我的玻璃获得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);
答案 0 :(得分:0)
请参阅:https://developers.google.com/glass/develop/gdk/location-sensors/index
从那个Glass参考 警告:不要使用LocationManager.getBestProvider()方法或常量GPS_PROVIDER或NETWORK_PROVIDER来侦听位置更新。 Glass使用一组动态提供程序,仅侦听单个提供程序可能会导致应用程序错过位置更新。
Glass文章建议您使用基于“条件”的位置参考。