Maps Android KTX

Se trata de una colección de extensiones de Kotlin (KTX) que se utilizan con el SDK de Maps para Android y la biblioteca de utilidades de este SDK. Estas extensiones proporcionan funciones de lenguaje Kotlin que te permiten escribir Kotlin idiomático y conciso cuando desarrollas utilizando el SDK de Maps para Android. Maps KTX es de código abierto y está disponible en GitHub junto con ejemplos.

Instalación

Para instalar la biblioteca KTX del SDK de Maps para Android y, de forma opcional, la biblioteca de utilidades de este mismo SDK, agrega las siguientes dependencias a tu archivo build.gradle.

dependencies {
    // KTX for the Maps SDK for Android
    implementation 'com.google.maps.android:maps-ktx:3.2.1'

    // (Optional) KTX for the Maps SDK for Android Utility Library
    implementation 'com.google.maps.android:maps-utils-ktx:3.2.1'
}

Ejemplos de uso

Con la biblioteca de KTX, puedes aprovechar varias funciones del lenguaje Kotlin, como funciones de extensión, parámetros con nombre y argumentos predeterminados, declaraciones de desestructuración y corrutinas.

Cómo obtener un elemento GoogleMap mediante corrutinas

Se puede obtener el acceso a un elemento GoogleMap mediante corrutinas.

lifecycleScope.launchWhenCreated {
  val mapFragment: SupportMapFragment? =
    supportFragmentManager.findFragmentById(R.id.map) as? SupportMapFragment
  val googleMap: GoogleMap? = mapFragment?.awaitMap()
}

Cómo agregar un marcador

Se puede agregar un marcador mediante el método addMarker() de estilo DSL.

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

Cómo recopilar eventos de la cámara

Los eventos, como los movimientos de la cámara, se pueden recopilar mediante el flujo de Kotlin.

lifecycleScope.launchWhenCreated {
  googleMap.cameraMoveEvents().collect {
    print("Received camera move event")
  }
}

Puedes ver una lista completa de las funciones compatibles en la documentación de referencia.