Maps Android KTX

Las extensiones de Maps Android Kotlin (KTX) son una colección que se utiliza 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

A fin de 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.