Jetpack Compose to deklaratywny, natywny zestaw narzędzi do tworzenia interfejsu, który upraszcza i przyspiesza ten proces. W Jetpack Compose opisujesz, jak ma wyglądać Twoja aplikacja, a Jetpack Compose zajmuje się resztą.
Biblioteka Maps Compose do pakietu Maps SDK na Androida to zestaw funkcji typu „composable” i typów danych open source, których możesz używać z Jetpack Compose do tworzenia aplikacji.
Biblioteka Maps Compose zawiera funkcje typu „composable” i typy danych, które umożliwiają wykonywanie wielu typowych zadań. Niektóre z najczęściej używanych funkcji typu „composable” i typów danych to:
| Funkcja kompozycyjna | Opis |
|---|---|
| Okrąg | Funkcja typu „composable” służąca do dodawania okręgu do mapy. |
| GoogleMap | Funkcja typu „composable” do dodawania mapy. |
| GroundOverlay | Funkcja typu „composable” służąca do dodawania nakładki naziemnej do mapy. |
| MapProperties | Typ danych właściwości, które można modyfikować na mapie. |
| MapUISettings | Typ danych ustawień związanych z interfejsem na mapie. |
| Znacznik | Funkcja typu „composable” do dodawania znacznika do mapy. |
| Polygon | Funkcja typu „composable” służąca do dodawania wielokąta do mapy. |
| Linia łamana | Funkcja typu „composable” służąca do dodawania linii łamanej do mapy. |
| TileOverlay | Funkcja typu „composable” do dodawania nakładki kafelkowej do mapy. |
Pełną listę wszystkich funkcji typu „composable” i typów danych znajdziesz w dokumentacji biblioteki Maps Compose.
Wymagania
Aby używać biblioteki Maps Compose z pakietem Maps SDK na Androida, musisz:
- Pobierz i zainstaluj Android Studio Arctic Fox.
Utwórz projekt Map Google w Android Studio, używając:
- Typ szablonu Pusta aktywność Compose. Ten szablon dodaje niezbędne zależności wymagane przez Jetpack Compose.
- Minimalna wersja pakietu SDK ustawiona na interfejs API Androida na poziomie 23 („Marshmallow”; Android 6.0) lub nowszym.
- Language (Język) ustawiony na Kotlin.
Uzyskaj klucz interfejsu API i dodaj go do projektu.
Zainstaluj bibliotekę Maps Compose w projekcie zgodnie z opisem w następnej sekcji.
Instalacja
Aby zainstalować bibliotekę Maps Compose w projekcie Map Google:
Dodaj te zależności do pliku
build.gradle.ktsna poziomie modułu:dependencies { // Modern Android projects use version catalogs to manage dependencies. To include the Maps Compose library, // first add the following to your gradle/libs.versions.toml file: // // [versions] // mapsCompose = "8.4.0" // // [libraries] // maps-compose = { module = "com.google.maps.android:maps-compose", version.ref = "mapsCompose" } // // Android Maps Compose composables for the Maps SDK for Android implementation(libs.maps.compose) // If your project does not use a version catalog, you can use the following dependency instead: // // implementation("com.google.maps.android:maps-compose:8.4.0") }
Aby zsynchronizować te zmiany, ponownie skompiluj projekt w Android Studio.
Dodawanie mapy do aplikacji
Poniższy przykład pokazuje, jak dodać mapę za pomocą funkcji kompozycyjnej GoogleMap.
val singapore = LatLng(1.35, 103.87) val singaporeMarkerState = rememberUpdatedMarkerState(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", ) }
W tym przykładzie mapa zajmuje maksymalną dozwoloną przestrzeń, a kamera jest wyśrodkowana na Singapurze. Tworzony jest też obiekt CameraPositionState, który jest przekazywany do cameraPositionState, aby ustawić pozycję kamery.
Następnie przykład wywołuje element kompozycyjny Marker w treści mapy, aby dodać do niej znacznik.
Aby porównać ten przykład z przykładem, w którym mapa jest dodawana za pomocą widoków, zapoznaj się z QuickStart. Zauważ, że funkcje typu „composable” wymagają mniej kodu i nie musisz się martwić o cykl życia mapy.
Ustawianie właściwości na mapie
Możesz ustawić właściwości mapy, podając obiekt MapProperties lub obiekt MapUiSettings w przypadku właściwości związanych z interfejsem. Możesz zmodyfikować te obiekty, aby wywołać ponowne komponowanie mapy.
W przykładzie poniżej użyjemy przełącznika, czyli komponentu Material Design, aby włączać i wyłączać elementy sterujące powiększeniem na mapie.
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) }, ) }
Co dalej?
- Wyświetl stronę projektu biblioteki Maps Compose na GitHubie.
- Zapoznaj się z dokumentacją Jetpack Compose.