Maps per Android KTX

Le estensioni Kotlin per Android di Maps (KTX) sono una raccolta di estensioni Kotlin per Maps SDK per Android e Maps SDK for Android Utility Library. Queste estensioni forniscono funzionalità del linguaggio Kotlin che ti consentono di scrivere Kotlin conciso e idiomatico durante lo sviluppo per Maps SDK for Android. Maps KTX è open source disponibili su GitHub e esempi.

Installazione

Per installare KTX per Maps SDK for Android e, facoltativamente, per la libreria di utilità di Maps SDK for Android, aggiungi le seguenti dipendenze al tuo file build.gradle.kts.

dependencies {

    // KTX for the Maps SDK for Android library
    implementation("com.google.maps.android:maps-ktx:5.1.1")
}

Esempi di utilizzo

Con la libreria KTX, puoi sfruttare diverse funzionalità del linguaggio Kotlin, come funzioni di estensione, parametri denominati e argomenti predefiniti, dichiarazioni di destrutturazione e coroutine.

Recupero di una mappa di Google Maps utilizzando le coroutine

È possibile recuperare l'accesso a una GoogleMap usando le coroutine.

lifecycleScope.launch {
  lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
    val mapFragment: SupportMapFragment? =
      supportFragmentManager.findFragmentById(R.id.map) as? SupportMapFragment
    val googleMap: GoogleMap? = mapFragment?.awaitMap()
  }
}

Aggiunta di un indicatore

L'aggiunta di un indicatore può essere eseguita utilizzando il metodo in stile DSL addMarker().

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

Raccogliere gli eventi della videocamera

Gli eventi, come i movimenti della videocamera, possono essere raccolti tramite Kotlin Flow.

lifecycleScope.launch {
  lifecycle.repeatOnLifecycle(Lifecycle.State.CREATED) {
    googleMap.cameraMoveEvents().collect {
      print("Received camera move event")
    }
  }
}

Puoi visualizzare un elenco completo delle funzionalità supportate leggendo la documentazione di riferimento.

Prova l'applicazione di esempio

Il repository GitHub di questa libreria contiene anche un'applicazione demo che mostra come utilizzare la libreria Maps KTX nella tua app.

Per provare l'applicazione demo, segui questi passaggi:

  1. Da GitHub, clona o scarica il file ZIP.
  2. In Android Studio, scegli File -> Apri, vai alla directory e apri la cartella appena clonata o scaricata.
  3. Aggiungi una chiave API all'app demo.
    1. Ottieni una chiave Maps SDK for Android.
    2. Nella directory root, crea un file denominato secrets.properties. Per proteggere la tua chiave API, questo file NON deve essere sottoposto a controllo delle versioni.
    3. Aggiungi questa singola riga a secrets.properties
      MAPS_API_KEY="YOUR_API_KEY"
      dove YOUR_API_KEY è l'effettiva chiave API che hai ottenuto nel primo passaggio. Puoi consultare secrets.defaults.properties come esempio.
  4. Sotto la configurazione di esecuzione, seleziona il modulo app-ktx.
  5. Seleziona Esegui 'app-ktx'.

Passaggi successivi

Ti potrebbero interessare anche altre librerie di estensioni Kotlin per Google Maps Piattaforma:

  • KTX per Map SDK per Raccolta di utilità Android
  • KTX per Places SDK per Android