我使用Location类来获取高度,但它总是返回0.
请告诉我如何获得高度?
Location.getAltitude();
答案 0 :(得分:3)
最初我使用了location.getAltitude(),它总是重新调整0.0。然后我遇到https://groups.google.com/forum/#!topic/android-beginners/KNeLh905ip0它帮助我解决了我的问题。它适用于实际的真实设备。
private LocationProvider _locationProvider;
private LocationManager _locationManager;
_locationManager = (LocationManager) mContext
.getSystemService(LOCATION_SERVICE);
_locationProvider = _locationManager
.getProvider(LocationManager.GPS_PROVIDER);
location = _locationManager.getLastKnownLocation
(LocationManager.GPS_PROVIDER);
_locationProvider.supportsAltitude();
hasaltitude = location.hasAltitude();
double altitude = location.getAltitude();
System.out.println("HasAltitude" + hasaltitude+"-"+altitude);
“海拔”的值将以米为单位。
答案 1 :(得分:2)
海拔高度通常仅适用于GPS提供商。如果支持高度:
,您可以查看可用的位置提供商locationProvider.hasAltitude();
答案 2 :(得分:0)
您需要获取用户位置: http://developer.android.com/guide/topics/location/obtaining-user-location.html
locationListener将为您提供一个Location对象,您可以在其上使用getAltitude()函数。
答案 3 :(得分:0)
使用所有不同的方法来获取位置,但是要求高精度的位置时,需要获得权限ACCESS_FINE_LOCATION