【问题标题】:Fetch offline location using FusedLocationApi使用 FusedLocationApi 获取离线位置
【发布时间】:2016-04-24 21:36:28
【问题描述】:

我想在 GPS/Wifi 关闭时使用 google play services LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); 获取位置。阅读有关FusedLocationApi 的文章/博客,它提到此API 将使用任何GPS/Wifi 或蜂窝网络提供准确的位置。我很困惑,如果地窖网络可以提供位置,那么FusedLocationApi 应该在 Gps/Wifi 被禁用但返回null 的情况下返回位置。谁能让我帮助/指导使用蜂窝网络获取离线位置。

问候

【问题讨论】:

  • 您的Location 是否在设置中启用。如果它被启用,那么只有你会得到位置,否则它将返回 null。
  • 已禁用。如果它只在设置中使用Location 启用,那么说FusedLocationProvider 将从蜂窝塔获取位置的目的是什么

标签: android google-play-services fusedlocationproviderapi android-fusedlocation


【解决方案1】:

当 GPS 和 WiFi 位置被禁用时,您无法使用蜂窝网络通过标准 API 获取位置。

设备必须启用位置才能让应用程序检索位置。这是最终用户的基本权限问题;如果最终用户请求没有可用的位置,则没有可用的位置。

在检索位置时,有两种信息来源:

  1. GPS:这使用太空中的卫星来定位设备。 GPS 可提供最准确的位置,但速度较慢,尤其是在您没有数据连接的情况下。在设备上,这是“仅限设备”模式。

  2. Network:这使用 WiFi 和/或蜂窝网络。无法分别选择 WiFi 和蜂窝位置。当您获得位置更新时,水平精度是使用 WiFi 还是蜂窝网络的有力指标。 WiFi 精度应该是 10 米,而蜂窝网络可能是 100 米。如果您所在的区域没有 WiFi 覆盖但有蜂窝网络覆盖,则网络源仍将提供位置更新。

您也可以同时使用这两种来源。这是“高精度”定位模式。

如果您同时关闭这两个功能(禁用位置信息),您将无法获得任何位置信息。

【讨论】:

  • 这一点很重要,如果用户明确关闭了设置,APIs 将不起作用。如果我们的应用程序需要某些功能的位置,那么如果位置被禁用,我们可以限制该用户的使用。
猜你喜欢
  • 1970-01-01
  • 2018-04-04
  • 2019-06-08
  • 2018-10-14
  • 2017-02-20
  • 2017-05-14
  • 1970-01-01
  • 2015-10-30
  • 2018-05-11
相关资源
最近更新 更多