GetLastLocation() делает запрос на текущее местоположение?

Я использую Google Api плавленое местоположение. Я хотел бы получить текущее местоположение с высокой точностью без постоянного отслеживания местоположения с помощью интерфейса LocationListener.

У меня есть простой случай использования: пользователь нажимает на кнопку, приложение будет отображать текущую широту и долготу (новое местоположение).

Затем getLastLocation() извлекает местоположение из кэша (что в некоторых случаях означает, что оно не может быть точным) или делает запрос местоположения для получения свежих данных?

Если нет, возможно ли достичь моего варианта использования без реализации интерфейса LocationListener?

1 ответ

Решение

Согласно документации на сайте andoid.

Чтобы запросить последнее известное местоположение, вызовите метод getLastLocation(), передав ему свой экземпляр объекта GoogleApiClient. Сделайте это с помощью обратного вызова onConnected(), предоставляемого клиентом Google API, который вызывается, когда клиент готов. Следующий фрагмент кода иллюстрирует запрос и простую обработку ответа:

Это означает, что он не будет обновлять местоположение, когда вы звоните getLastLocation(), Это будет сделано на основе обновления службы.

Вы можете запросить обновления местоположения с помощью этой функции

protected void startLocationUpdates() {
    LocationServices.FusedLocationApi.requestLocationUpdates(
    mGoogleApiClient, mLocationRequest, this);
}
Другие вопросы по тегам