使用 FusedLocationApi 获取离线位置

Fetch offline location using FusedLocationApi

我想在 GPS/Wifi 关闭时使用 google 播放服务 LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient); 获取位置。阅读关于 FusedLocationApi 的 articles/blogs,其中提到此 API 将使用任何 GPS/Wifi 或蜂窝网络提供准确位置。我很困惑,如果地窖网络可以提供位置,那么 FusedLocationApi 应该 return 如果 Gps/Wifi 被禁用但它的 returning null 位置。任何人都可以让我 help/guide 使用蜂窝网络获取离线位置。

此致

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

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

检索位置时,有两个信息源:

  1. GPS:这使用 space 中的卫星定位设备。 GPS 提供最准确的位置,但速度很慢,尤其是在您没有数据连接的情况下。在设备上,这是 "device only" 模式。

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

您也可以同时使用这两种来源。这是 "high accuracy" 定位模式。

如果您关闭这两个(禁用位置),那么您将无法获得任何位置。