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.