GetLastLocation() делает запрос на текущее местоположение?
Я использую Google Api плавленое местоположение. Я хотел бы получить текущее местоположение с высокой точностью без постоянного отслеживания местоположения с помощью интерфейса LocationListener.
У меня есть простой случай использования: пользователь нажимает на кнопку, приложение будет отображать текущую широту и долготу (новое местоположение).
Затем getLastLocation() извлекает местоположение из кэша (что в некоторых случаях означает, что оно не может быть точным) или делает запрос местоположения для получения свежих данных?
Если нет, возможно ли достичь моего варианта использования без реализации интерфейса LocationListener?
1 ответ
Согласно документации на сайте andoid.
Чтобы запросить последнее известное местоположение, вызовите метод getLastLocation(), передав ему свой экземпляр объекта GoogleApiClient. Сделайте это с помощью обратного вызова onConnected(), предоставляемого клиентом Google API, который вызывается, когда клиент готов. Следующий фрагмент кода иллюстрирует запрос и простую обработку ответа:
Это означает, что он не будет обновлять местоположение, когда вы звоните getLastLocation()
, Это будет сделано на основе обновления службы.
Вы можете запросить обновления местоположения с помощью этой функции
protected void startLocationUpdates() {
LocationServices.FusedLocationApi.requestLocationUpdates(
mGoogleApiClient, mLocationRequest, this);
}