Location API — одна из ключевых важных частей разработки Android. В этой статье мы создадим простое приложение для получения текущего местоположения пользователя за несколько шагов.

Прежде всего, мы добавим зависимость Play-Services-Location, поэтому добавьте ее и синхронизируйте сейчас. На данный момент 18.0.0 является последним

//Location Dependency
implementation 'com.google.android.gms:play-services-location:18.0.0'

Если зависимость будет обновлена ​​в будущем, Android Studio предложит вам обновить ее. Спасибо команде Android Studio :).

После добавления зависимости нам нужно добавить разрешение на размещение в файл AndroidManifest.xml.

Подробнее о разрешениях: Разрешения на Android

Теперь мы только что добавили разрешения и сообщили андроиду, какие разрешения требуются нашему приложению для работы. Но все же нашему приложению требуется разрешение пользователя для получения его местоположения. Итак, вы могли догадаться, что следующий шаг — да, мы собираемся предложить пользователям дать нам разрешение на получение их местоположения.

Мы напишем имя функции askPermissions().

В приведенном ниже askPermissions() мы использовали простую логику.

if(!permission)
{
   requestPermissions()
}
else{
    //permission is already given
    fetchLocation(); //fuction to fetch location, once permitted.
} 

onRequestPermissionResult() — это метод переопределения, поэтому он играет свою роль, когда пользователь принимает или отклоняет разрешение.

Теперь, если вы вызовете askPermissions() в своем onCreate() и запустите приложение, вы увидите следующий вывод:

Вы можете увидеть ошибку в fetchLocation(), потому что мы еще не объявили ее, поэтому вы можете прокомментировать ее перед запуском приложения.

Прямо сейчас мы имеем дело с «Разрешить разрешение» только для того, чтобы упростить задачу и сосредоточиться на получении местоположения.

Вы прекрасны, мы сделали половину работы. давайте завершим его, вызвав FusedLocationProviderClient, этот класс является основной точкой входа для взаимодействия с местоположением. Объявить латентную переменную в MainActivity.kt

Вот и настал момент истины, объявите новую функцию для получения текущего местоположения пользователя. Я назову его fetchLocation(), этот метод с помощью fusedLocationProviderClient получает доступ к текущему местоположению пользователя, включая все другие свойства, такие как высота над уровнем моря, провайдер и т. д.

Вышеупомянутый метод настолько прост, насколько это должно быть, и показывает выходные данные в окне Android Studio Logcat.

Убедитесь, что ваш MainActivity.kt выглядит так.

Если вы запускаете это приложение на реальном устройстве, убедитесь, что ваше местоположение уже включено, мы не обрабатывали этот сценарий, когда ваше местоположение не включено, возможно, в следующей статье.

Запустите приложение и откройте окно logcat.

Бум, ты сделал это. мы получили широту и долготу соответственно, в следующей статье мы преобразуем эту информацию в некую осмысленную адресную строку в реальном времени с помощью Geocode API. Быть в курсе.

Всемирная организация здравоохранения заявляет, что в некоторых странах недостаточно тестов на коронавирус: «Тестируйте каждый подозрительный случай»

БЕРЕГИТЕСЬ, ОСТАВАЙТЕСЬ ДОМА