Jetpack Compose, kullanıcı arayüzü geliştirmeyi basitleştirip hızlandıran bildirim temelli, yerel bir kullanıcı arayüzü araç setidir. Jetpack Compose ile uygulamanızın nasıl görünmesini istediğinizi açıklayın. Gerisini Jetpack Compose'a bırakıyorsunuz.
Android için Haritalar SDK'sının Haritalar Compose kitaplığı, uygulamanızı oluşturmak için Jetpack Compose ile kullanabileceğiniz açık kaynaklı composable işlevler ve veri türlerinden oluşan bir gruptur.
Haritalar Oluşturma Kitaplığı kitaplığı, birçok yaygın görevi gerçekleştirmenizi sağlayan composable işlevler ve veri türleri içerir. Yaygın olarak kullanılan composable işlevleri ve veri türlerinden bazıları şunlardır:
Oluşturulabilir | Açıklama |
---|---|
Çevre | Haritaya daire eklemek için oluşturulan işlev. |
GoogleMap | Harita eklemek için oluşturulan işlev. |
GroundOverlay | Haritaya zemin bindirme eklemek için derlenebilir işlev. |
MapProperties | Haritada değiştirilebilen mülkler için veri türü. |
MapUISettings | Haritadaki kullanıcı arayüzü ile ilgili ayarlar için veri türü. |
İşaretçi | Haritaya işaretçi eklemeyi sağlayan özelleştirilebilir işlev. |
Poligon | Haritaya poligon eklemeye yarayan özelleştirilebilir işlev. |
Çoklu çizgi | Haritaya çoklu çizgi eklemek için oluşturulan işlev. |
TileOverlay | Haritaya karo yer paylaşımı eklemek için oluşturulan işlev. |
Oluşturulabilir tüm işlevlerin ve veri türlerinin tam listesi için Haritalar Oluşturma kitaplık referansı bölümüne bakın.
Koşullar
Maps Compose kütüphanesini Android için Haritalar SDK'sı ile kullanmak istiyorsanız şunları yapmanız gerekir:
- Android Studio Arctic Fox'u indirip yükleyin.
Android Studio'da aşağıdakileri kullanarak bir Google Haritalar projesi oluşturun:
- Boş Oluşturma Etkinliği şablon türü. Bu şablon, Jetpack Compose için gerekli bağımlılıkları ekler.
- Minimum SDK, API 21: Android 5.0 (Lollipop) veya sonraki sürümler olarak ayarlanmalıdır.
- Dil, Kotlin olarak ayarlanmalıdır.
Bir API anahtarı edinin ve bunu projenize ekleyin.
Bir sonraki bölümde açıklandığı şekilde, projeye Maps Compose kitaplığını yükleyin.
Döşeme
Google Haritalar projenize Maps Compose kitaplığını yüklemek için:
Modül düzeyindeki
build.gradle
dosyanıza şu bağımlılıkları ekleyin:dependencies { // Android Maps Compose composables for the Maps SDK for Android implementation 'com.google.maps.android:maps-compose:6.1.0' }
Bu değişiklikleri senkronize etmek için projenizi Android Studio'da yeniden oluşturun.
Uygulamanıza harita ekleyin
Aşağıdaki örnekte harita eklemek için GoogleMap composable'ın nasıl kullanılacağı gösterilmektedir.
val singapore = LatLng(1.35, 103.87) val cameraPositionState = rememberCameraPositionState { position = CameraPosition.fromLatLngZoom(singapore, 10f) } GoogleMap( modifier = Modifier.fillMaxSize(), cameraPositionState = cameraPositionState ) { Marker( state = MarkerState(position = singapore), title = "Singapore", snippet = "Marker in Singapore" ) }
Bu örnekte, harita izin verilen maksimum alanı kaplar ve kamerası Singapur çevresindedir. Kameranın konumunu ayarlamak için, cameraPositionState
içinde bir CameraPositionState de oluşturulur ve sağlanır.
Bu örnek, haritaya bir işaretçi eklemek için haritanın içeriğinde composable'ı (İşaretçi) çağırır.
Bu örneği, Görünümler'i kullanarak harita ekleyen bir örnekle karşılaştırmak için QuickStart'ı inceleyin. Oluşturulabilir işlevlerin daha az kod gerektirdiğini ve haritanın yaşam döngüsüyle ilgili endişelenmenize gerek olmadığını göreceksiniz.
Haritada özellikleri ayarlama
Kullanıcı arayüzü ile ilgili özellikler için bir MapProperties nesnesi veya bir MapUiSettings nesnesi sağlayarak haritadaki özellikleri ayarlayabilirsiniz. Haritanın yeniden oluşturulmasını tetiklemek için bu nesneleri değiştirebilirsiniz.
Aşağıdaki örnekte, haritadaki yakınlaştırma kontrollerini açıp kapatmak için bir Materyal Tasarım bileşeni olan Switch'i kullanın.
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) } ) }
Sırada ne var?
- Haritalar Compose kitaplığını görüntüleyin GitHub proje sayfasını görüntüleyin.
- Jetpack Compose dokümanlarını görüntüleyin.