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