Maps per Android KTX

Le estensioni Kotlin per Android di Maps (KTX) sono una raccolta di estensioni Kotlin per Maps SDK for Android e Maps SDK for Android Utility Library. Queste estensioni forniscono funzionalità in linguaggio Kotlin che ti consentono di scrivere Kotlin conciso e idiomatico durante lo sviluppo per l'SDK Maps for Android. Maps KTX è open source e disponibile su GitHub insieme ad alcuni 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 file build.gradle.

dependencies {

    // KTX for the Maps SDK for Android library
    implementation 'com.google.maps.android:maps-ktx:5.0.0'
}

Esempi di utilizzo

Con la libreria KTX, puoi sfruttare diverse caratteristiche del linguaggio Kotlin, come le funzioni di estensione, i parametri denominati e gli argomenti predefiniti, le dichiarazioni de strutturate e le coroutine.

Recupero di una mappa Google Maps utilizzando le coroutine

L'accesso a una GoogleMap può essere recuperato utilizzando 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 di stile DSL addMarker().

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

Raccolta di eventi della videocamera in corso...

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

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

Per un elenco completo delle funzionalità supportate, consulta la documentazione di riferimento.

Prova l'applicazione di esempio

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

Per provare l'applicazione demo, procedi nel seguente modo:

  1. Da GitHub, clona o scarica il file ZIP.
  2. In Android Studio, seleziona File -> Apri, vai alla directory e apri quella che hai appena clonato o scaricato.
  3. Aggiungi una chiave API all'app demo.
    1. Ottieni un SDK Maps per la chiave Android.
    2. Nella directory radice, crea un file denominato secrets.properties. Questo file NON deve essere sotto il controllo della versione per proteggere la tua chiave API.
    3. Aggiungi questa singola riga a secrets.properties
      MAPS_API_KEY="YOUR_API_KEY"
      dove YOUR_API_KEY è la chiave API effettiva che hai ottenuto nel primo passaggio. Come esempio, puoi considerare secrets.defaults.properties.
  4. Sotto la configurazione di esecuzione, seleziona il modulo app-ktx.
  5. Seleziona Esegui 'app-ktx'.

Passaggi successivi

Potresti essere interessato anche ad altre librerie di estensioni Kotlin per Google Maps Platform:

  • KTX per la libreria di utilità Map SDK for Android
  • KTX per l'SDK Places for Android