使用FusedLocationApi获取离线位置

时间:2016-01-19 12:03:20

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

我想在关闭GPS / Wifi时使用Google Play服务LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);获取位置。阅读有关FusedLocationApi的文章/博客,其中提到此API将使用任何GPS / Wifi或蜂窝网络提供准确的位置。我很困惑,如果地窖网络可以提供位置,那么如果Gps / Wifi被禁用但其返回FusedLocationApi,则null应该返回该位置。任何人都可以让我帮助/指导使用移动网络获取离线位置。

此致

1 个答案:

答案 0 :(得分:2)

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

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

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

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

  2. Network:这使用WiFi和/或蜂窝网络。没有办法分别选择WiFi和蜂窝位置。当您获得位置更新时,水平精度是对WiFi或蜂窝网络是否被使用的强烈指示。 WiFi精度应该是10米,而蜂窝电话可能是100米。如果您所在的区域没有WiFi覆盖但具有蜂窝覆盖范围,则网络源仍将提供位置更新。

  3. 您也可以同时使用这两种来源。这是"高精度"位置模式。

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