【发布时间】:2016-05-16 17:26:45
【问题描述】:
getAltitude() 方法的返回值始终返回 0.00。许多答案表明,这可能是由于提供者不支持海拔细节。我已经检查过了,它确实支持高度。
我想从 GPS 坐标中获取高度。任何帮助表示赞赏。
我的代码如下所示。
LocationManager locationManager; LocationProvider locationProvider;
/* Get LocationManager and LocationProvider for GPS */
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locationProvider = locationManager.getProvider(LocationManager.GPS_PROVIDER);
/* Check if GPS LocationProvider supports altitude */
locationProvider.supportsAltitude();
//Location object
Location l = new Location("A");
l.setLatitude(40.796852);
l.setLongitude(-74.061340);
l.getAltitude();
//Returns 0.00
Log.i("Tag", String.valueOf(l.getAltitude()));
//returns True
Log.i("Tag", String.valueOf(locationProvider.supportsAltitude()));
【问题讨论】:
-
它应该返回什么?
-
你明白
locationProvider.supportsAltitude();返回一个boolean值吧?你真的检查过这个值是否为真吗?因为您目前使用它的方式实际上什么也没做。 -
如果可用,它应该返回高度,以 WGS 84 参考椭球上方的米为单位。我尝试了几个坐标,但结果都是一样的。
-
是的 Luke 它返回 True
-
我的意思是,“应该为代码中的坐标返回什么特定高度?”但我想这没有实际意义。
标签: android mobile android-elevation android-gps