Jetpack Compose è un toolkit UI nativo e dichiarativo che semplifica e accelera lo sviluppo della UI. Con Jetpack Compose, descrivi l'aspetto che vuoi che abbia la tua app e lascia che Jetpack Compose si occupi del resto.
La libreria Maps Compose per Maps SDK for Android è un insieme di funzioni componibili e tipi di dati open source che puoi utilizzare con Jetpack Compose per creare la tua app.
La libreria Maps Compose contiene funzioni componibili e tipi di dati che ti consentono di eseguire molte attività comuni. Alcune delle funzioni componibili e dei tipi di dati comunemente utilizzati includono:
Componibile | Descrizione |
---|---|
Cerchia | Funzione componibile per aggiungere un cerchio a una mappa. |
GoogleMap | Funzione componibile per aggiungere una mappa. |
GroundOverlay | Funzione componibile per aggiungere una sovrapposizione al suolo a una mappa. |
MapProperties | Tipo di dati per le proprietà che possono essere modificate su una mappa. |
MapUISettings | Tipo di dati per le impostazioni correlate all'interfaccia utente su una mappa. |
Indicatore | Funzione componibile per aggiungere un indicatore a una mappa. |
Polygon | Funzione componibile per aggiungere un poligono a una mappa. |
Polilinea | Funzione componibile per aggiungere una polilinea a una mappa. |
TileOverlay | Funzione componibile per aggiungere una sovrapposizione di riquadri a una mappa. |
Per un elenco completo di tutte le funzioni e i tipi di dati componibili, consulta Riferimento della libreria Maps Compose.
Requisiti
Per utilizzare la libreria Maps Compose con Maps SDK for Android, devi:
- Scarica e installa Android Studio Arctic Fox.
Crea un progetto Google Maps in Android Studio con:
- Un tipo di modello Attività di composizione vuota. Questo modello aggiunge le dipendenze necessarie richieste da Jetpack Compose.
- SDK minimo impostato su API 21: Android 5.0 (Lollipop) o versioni successive.
- Lingua impostata su Kotlin.
Ottieni una chiave API e aggiungila al tuo progetto.
Installa la libreria Maps Compose nel progetto come descritto nella sezione successiva.
Installazione
Per installare la libreria Maps Compose nel tuo progetto Google Maps:
Aggiungi le seguenti dipendenze al file
build.gradle.kts
a livello di modulo:dependencies { // Android Maps Compose composables for the Maps SDK for Android implementation("com.google.maps.android:maps-compose:6.4.1") }
Ricompila il progetto in Android Studio per sincronizzare queste modifiche.
Aggiungere una mappa all'app
L'esempio seguente mostra come utilizzare il composizione GoogleMap per aggiungere una mappa.
val singapore = LatLng(1.35, 103.87) val singaporeMarkerState = rememberMarkerState(position = singapore) val cameraPositionState = rememberCameraPositionState { position = CameraPosition.fromLatLngZoom(singapore, 10f) } GoogleMap( modifier = Modifier.fillMaxSize(), cameraPositionState = cameraPositionState ) { Marker( state = singaporeMarkerState, title = "Singapore", snippet = "Marker in Singapore" ) }
In questo esempio, la mappa occupa lo spazio massimo consentito e la sua videocamera
è centrata su Singapore. Viene inoltre creato e fornito un CameraPositionState in cameraPositionState
per impostare la posizione della videocamera.
L'esempio chiama quindi il composizione Marker nel contenuto della mappa per aggiungere un indicatore alla mappa.
Per confrontare questo esempio con un esempio che aggiunge una mappa utilizzando le visualizzazioni, consulta la QuickStart. Nota come le funzioni componibili richiedano meno codice e non devi preoccuparti del ciclo di vita della mappa.
Impostare le proprietà su una mappa
Puoi impostare le proprietà sulla mappa fornendo un oggetto MapProperties o un oggetto MapUiSettings per le proprietà correlate all'interfaccia utente. Puoi modificare questi oggetti per attivare la ricomposizione della mappa.
Nell'esempio riportato di seguito, utilizza un interruttore, un componente Material Design per attivare/disattivare i controlli dello zoom sulla mappa.
var uiSettings by remember { mutableStateOf(MapUiSettings()) } var properties by remember { mutableStateOf(MapProperties(mapType = MapType.SATELLITE)) } Box(Modifier.fillMaxSize()) { GoogleMap( modifier = Modifier.matchParentSize(), properties = properties, uiSettings = uiSettings ) Switch( checked = uiSettings.zoomControlsEnabled, onCheckedChange = { uiSettings = uiSettings.copy(zoomControlsEnabled = it) } ) }
Passaggi successivi
- Visualizza la pagina del progetto GitHub della libreria Maps Compose.
- Consulta la documentazione di Jetpack Compose.