Jetpack Compose to deklaratywny, natywny zestaw narzędzi do interfejsu, który upraszcza i przyspiesza tworzenie interfejsu. W Jetpack Compose opisujesz, jak ma wyglądać Twoja aplikacja, a potem pozwalasz Jetpack Compose zająć się resztą.
Biblioteka Maps Compose pakietu Maps SDK na Androida to zestaw funkcji i typów danych do komponowania o otwartym kodzie źródłowym, których możesz używać z Jetpack Compose do tworzenia aplikacji.
Biblioteka Maps Compose zawiera funkcje i typy danych, które umożliwiają wykonywanie wielu typowych zadań. Do najczęściej używanych funkcji kompozycyjnych i typów danych należą:
Kompozycyjne | Opis |
---|---|
Okrąg | Funkcja kompozycyjna do dodawania okręgu do mapy. |
GoogleMap | Funkcja kompozycyjna do dodawania mapy. |
GroundOverlay | Funkcja kompozycyjna do dodawania nakładki na mapę. |
MapProperties | Typ danych właściwości, które można modyfikować na mapie. |
MapUISettings | Typ danych dla ustawień związanych z interfejsem na mapie. |
Znacznik | Funkcja kompozycyjna do dodawania znacznika do mapy. |
Wielokąt | Funkcja kompozycyjna do dodawania wielokąta do mapy. |
Polilinia | Funkcja kompozycyjna do dodawania linii łamanej do mapy. |
TileOverlay | Funkcja kompozycyjna do dodawania nakładki kafelkowej do mapy. |
Pełną listę wszystkich funkcji 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, który będzie zawierać:
- Typ szablonu Empty Compose Activity. Ten szablon dodaje niezbędne zależności wymagane przez Jetpack Compose.
- Minimalna wersja SDK ustawiona na API 21: Android 5.0 (Lollipop) lub nowszy.
- Język ustawiony na Kotlin.
Uzyskaj klucz interfejsu API i dodaj go do projektu.
Zainstaluj w projekcie bibliotekę Maps Compose 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.kts
na poziomie modułu:dependencies { // Android Maps Compose composables for the Maps SDK for Android implementation("com.google.maps.android:maps-compose:6.4.1") }
Aby zsynchronizować te zmiany, ponownie skompiluj projekt w Android Studio.
Dodawanie mapy do aplikacji
Poniższy przykład pokazuje, jak użyć komponentu GoogleMap, aby dodać mapę.
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 jej kamera jest wyśrodkowana na Singapurze. Tworzony jest też obiekt CameraPositionState, który jest udostępniany w cameraPositionState
w celu ustawienia pozycji kamery.
Następnie w treści mapy wywołuje komponent Marker, 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. Zwróć uwagę, że funkcje kompozycyjne wymagają mniej kodu i nie musisz się martwić o cykl życia mapy.
Ustawianie obiektów na mapie
Właściwości mapy możesz ustawić, podając obiekt MapProperties lub obiekt MapUiSettings w przypadku właściwości związanych z interfejsem. Możesz modyfikować te obiekty, aby wywołać ponowne komponowanie mapy.
W przykładzie poniżej użyj przełącznika, 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 w GitHubie.
- Zapoznaj się z dokumentacją Jetpack Compose.