Maps Android KTX

Maps Android KTX – это набор расширений Kotlin для Maps SDK и библиотеки утилит Maps SDK, который позволяет создавать лаконичный и идиоматичный код. Maps KTX – это ПО с открытым кодом. Вы можете скачать его вместе с примерами на сайте GitHub.

Установка

Чтобы установить KTX для Maps SDK и библиотеки утилит Maps SDK, добавьте в файл build.gradle следующие зависимости:

dependencies {

   
// KTX for the Maps SDK for Android library
    implementation
'com.google.maps.android:maps-ktx:5.0.0'
}

Примеры использования

С помощью библиотеки KTX вы сможете использовать разные функции Kotlin, например расширения, именованные параметры и стандартные аргументы, деструктуризацию и сопрограммы.

Получение кода GoogleMap с помощью сопрограмм

Доступ к коду GoogleMap можно получить с помощью сопрограмм.

lifecycleScope.launch {
  lifecycle
.repeatOnLifecycle(Lifecycle.State.CREATED) {
    val mapFragment
: SupportMapFragment? =
      supportFragmentManager
.findFragmentById(R.id.map) as? SupportMapFragment
    val googleMap
: GoogleMap? = mapFragment?.awaitMap()
 
}
}

Добавление маркера

Маркер можно добавить, используя код DSL (addMarker()).

val sydney = LatLng(-33.852, 151.211)
val marker
= googleMap.addMarker {
  position
(sydney)
  title
("Marker in Sydney")
}

Сбор данных о событиях камеры

Такие события, как перемещения камеры, можно регистрировать в потоке Kotlin.

lifecycleScope.launch {
  lifecycle
.repeatOnLifecycle(Lifecycle.State.CREATED) {
    googleMap
.cameraMoveEvents().collect {
     
print("Received camera move event")
   
}
 
}
}

С полным списком функций можно ознакомиться в справочной документации.

Образец приложения

В хранилище на GitHub для этой библиотеки также есть демонстрационное приложение. Вы можете посмотреть, как именно используется Maps KTX.

Чтобы поработать с демонстрационным приложением, выполните следующие действия:

  1. Клонируйте или скачайте ZIP-файл с GitHub.
  2. В Android Studio нажмите File (Файл) > Open (Открыть), перейдите в нужный каталог и откройте папку, которую клонировали или скачали.
  3. Добавьте в демонстрационное приложение ключ API.
    1. Получите ключ Maps SDK для Android.
    2. В корневом каталоге создайте файл с названием secrets.properties. Чтобы защитить ваш ключ API, этот файл НЕ ДОЛЖЕН храниться в системе контроля версий.
    3. Добавьте в secrets.properties следующую строку:
      MAPS_API_KEY="YOUR_API_KEY"
      Вместо YOUR_API_KEY укажите ключ API, который вы получили на первом шаге. Пример можно найти здесь: secrets.defaults.properties.
  4. В режиме конфигурации запуска выберите модуль app-ktx.
  5. Выберите Run 'app-ktx' (Запуск app-ktx).

Что дальше

Вас также могут заинтересовать другие библиотеки расширений Kotlin для платформы Google Maps:

  • Библиотека утилит KTX для Maps SDK для Android
  • Библиотека утилит KTX для Places SDK для Android