来自 Google Play Services Fused Location Provider 的海拔高度
Posted
技术标签:
【中文标题】来自 Google Play Services Fused Location Provider 的海拔高度【英文标题】:Altitude from Google Play Services Fused Location Provider 【发布时间】:2016-10-11 18:49:11 【问题描述】:我成功地从我设备的 GPS 接收到高精度的纬度和经度信息。为了实现这一点,我遵循了这里的教程:https://developer.android.com/training/location/index.html
不过,我还想要 GPS 的高度值。这不可能吗?我收到的 Location 对象总是返回零:
public void onLocationChanged(Location location)
Log.i(TAG, location.getAltitude()); // returns 0.0!
我使用的是LocationRequest.PRIORITY_HIGH_ACCURACY
,所以我假设 Fused Location Provider 使用的是 GPS,而不是 WiFi 或其他方式。
【问题讨论】:
【参考方案1】:从此documentation,默认情况下,Location的经纬度为0,并且该位置没有方位、高度、速度、准确度或附加值。
因此,只有在可用的情况下,您才能获得高度。并非所有位置都有高度。
您可以使用返回布尔结果的hasAltitude()
方法来了解该位置是否具有高度。
【讨论】:
这基本上也是我能找到的最多信息。可能需要查看其他提供者以获取此数据。以上是关于来自 Google Play Services Fused Location Provider 的海拔高度的主要内容,如果未能解决你的问题,请参考以下文章
Google Play 服务库更新和缺少符号 @integer/google_play_services_version
使用 google-play-services 进行 Proguard
如何为项目使用不同版本的 google-play-services 库
Google Play Services 9.2.1 和 google-services 插件