来自 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 插件

为啥 Localytics 需要 google-play-services:ads?

没有要导入的项目 - 对于 google-play-services_lib