【问题标题】:Is getLastLocation() make a request for the current location?getLastLocation() 是否请求当前位置?
【发布时间】:2017-08-03 15:36:38
【问题描述】:

我正在使用 google api 融合位置。我想在不使用 LocationListener 接口连续跟踪位置的情况下获得高精度的当前位置。

我有一个简单的用例:用户点击按钮,应用程序将显示当前的纬度和经度(新位置)。

那么,getLastLocation() 是从缓存中检索位置(这意味着在某些情况下它可能不准确)还是发出位置请求以获取新数据?

如果不是,是否可以在不实现 LocationListener 接口的情况下实现我的用例?

【问题讨论】:

  • getLastLocation 来自缓存,如果您需要准确的内容,则需要使用 LocationListener
  • @tyczj 我有一个与此相关的查询,请回答。如果我只使用 locationListener,onLocationChanged() 是否会被调用一次(在一开始),尽管我的位置没有改变(例如:在家)?

标签: android google-api android-fusedlocation


【解决方案1】:

根据the andoid website 上的文档。

要请求最后一个已知位置,请调用 getLastLocation() 方法,将您的 GoogleApiClient 对象实例传递给它。在 Google API 客户端提供的 onConnected() 回调中执行此操作,该回调在客户端准备好时调用。以下代码 sn -p 说明了请求和响应的简单处理:

这意味着当您调用getLastLocation() 时它不会更新位置。这将在基于更新的服务上完成。

您可以使用此功能请求位置更新

protected void startLocationUpdates() {
    LocationServices.FusedLocationApi.requestLocationUpdates(
    mGoogleApiClient, mLocationRequest, this);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 2023-03-07
    相关资源
    最近更新 更多