Android KTX do Maps

As extensões Kotlin (KTX) do Maps para Android são um conjunto de extensões Kotlin do SDK do Maps para Android e da biblioteca de utilitários desse SDK. Essas extensões oferecem recursos de linguagem Kotlin que permitem escrever códigos de maneira concisa e natural quando você desenvolve para o SDK em questão. O KTX do Maps é de código aberto e está disponível no GitHub (em inglês) com alguns exemplos.

Instalação

Se você quiser instalar o KTX no SDK do Maps para Android e na biblioteca de utilitários desse SDK, adicione as seguintes dependências ao arquivo 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'
}

Exemplos de uso

Com a biblioteca KTX, você pode usar vários recursos da linguagem Kotlin, como funções de extensão, argumentos padrão e parâmetros nomeados, declarações de desestruturação e corrotinas.

Recuperar um GoogleMap usando corrotinas

É possível recuperar o acesso a um parâmetro GoogleMap usando corrotinas.

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

Adicionar um marcador

Para adicionar um marcador, use o método addMarker() no estilo DSL.

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

Coletar eventos da câmera

Para coletar eventos, como movimentos de câmera, use o fluxo do Kotlin.

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

Veja uma lista completa de recursos compatíveis na documentação de referência.