Jetpack Compose to deklaratywny, natywny zestaw narzędzi do tworzenia interfejsu użytkownika, który upraszcza i przyspiesza tworzenie interfejsu użytkownika. W Jetpack Compose wystarczy, że określisz, jak ma wyglądać Twoja aplikacja, a resztą zajmie się Jetpack Compose.
Biblioteka Compose Maps w pakiecie SDK Map na Androida to zestaw funkcji kompozytowych i typów danych typu open source, których możesz używać w Jetpack Compose do tworzenia aplikacji.
Biblioteka Maps Compose zawiera funkcje i typy danych, które umożliwiają wykonywanie wielu typowych zadań. Oto niektóre z powszechnie używanych funkcji i typów danych:
Kompozycja | Opis |
---|---|
Okrąg | Funkcja kompozytowa służąca do dodawania koła do mapy. |
GoogleMap | Funkcja kompozytowa do dodawania mapy. |
GroundOverlay | Funkcja kompozytowa do dodawania na mapie nakładki naziemnej. |
MapProperties | Typ danych właściwości, które można modyfikować na mapie. |
MapUISettings | Typ danych ustawień związanych z interfejsem użytkownika na mapie. |
Znacznik | Funkcja kompozytowa do dodawania znacznika do mapy. |
Polygon | Funkcja składana służąca do dodawania wielokąta do mapy. |
Wielokąt | Funkcja składana służąca do dodawania linii złożonej do mapy. |
TileOverlay | Funkcja kompozytowa do dodawania nakładki na mapę. |
Pełną listę wszystkich funkcji i typów danych do łączenia znajdziesz w artykule Biblioteka Maps Compose – informacje referencyjne.
Wymagania
Aby korzystać z 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 za pomocą:
- Typ szablonu Pusta aktywność tworzenia wiadomości. Ten szablon dodaje niezbędne zależności wymagane przez Jetpack Compose.
- Minimalna wersja pakietu SDK ustawiona na API 21: Android 5.0 (Lollipop) lub nowszą.
- 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ę Compose Map w projekcie Map Google:
Dodaj do pliku
build.gradle.kts
na poziomie modułu te zależności:dependencies { // Android Maps Compose composables for the Maps SDK for Android implementation("com.google.maps.android:maps-compose:6.2.1") }
Aby zsynchronizować te zmiany, ponownie utwórz projekt w Android Studio.
Dodawanie mapy do aplikacji
Ten przykład pokazuje, jak użyć komponentu GoogleMap do dodania mapy.
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" ) }
W tym przykładzie mapa zajmuje maksymalną dozwoloną przestrzeń, a kamera jest wyśrodkowana na Singapurze. W cameraPositionState
tworzony i przekazywany jest też stan CameraPositionState, który służy do ustawiania pozycji kamery.
Następnie przykład wywołuje komponent Marker w treści mapy, aby dodać do niej znacznik.
Aby porównać to przykład z przykładem dodawania mapy za pomocą widoków, zapoznaj się z artykułem QuickStart. Zwróć uwagę, że funkcje kompozytowe wymagają mniej kodu, a Ty nie musisz się martwić cyklem życia mapy.
Ustawianie właściwości na mapie
Właściwości na mapie możesz ustawić, podając obiekt MapProperties lub obiekt MapUiSettings w przypadku właściwości związanych z interfejsem użytkownika. Możesz modyfikować te obiekty, aby wywołać ponowne skompilowanie mapy.
W przykładzie poniżej użyj przełącznika i komponentu Material Design, aby włączyć lub wyłączyć kontrolki powiększania 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?
- Otwórz stronę projektu Biblioteki Maps Compose na GitHubie.
- Zapoznaj się z dokumentacją Jetpack Compose.