Jetpack Compose เป็นชุดเครื่องมือ UI แบบประกาศสิ่งที่ต้องการซึ่งใช้กับ Android โดยเฉพาะ และช่วยให้การพัฒนา UI ทำได้ง่ายและเร็วขึ้น โดยคุณจะอธิบายลักษณะที่ต้องการให้แอปเป็น แล้วให้ Jetpack Compose จัดการส่วนที่เหลือ
ไลบรารี Maps Compose สำหรับ Maps SDK สำหรับ Android เป็นชุดฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กแบบโอเพนซอร์ส และประเภทข้อมูลที่คุณใช้กับ Jetpack Compose เพื่อสร้างแอปได้
ไลบรารี Maps Compose มีฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กและประเภทข้อมูลที่ช่วยให้คุณทำงานทั่วไปได้มากมาย ตัวอย่างฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กและประเภทข้อมูลที่ใช้กันโดยทั่วไป ได้แก่
| เน้นสร้างส่วนประกอบขนาดเล็ก | คำอธิบาย |
|---|---|
| วงกลม | ฟังก์ชันที่ประกอบกันได้เพื่อเพิ่มวงกลมลงในแผนที่ |
| GoogleMap | ฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กเพื่อเพิ่มแผนที่ |
| GroundOverlay | ฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กเพื่อเพิ่มภาพซ้อนทับบนพื้นลงในแผนที่ |
| MapProperties | ประเภทข้อมูลสำหรับพร็อพเพอร์ตี้ที่แก้ไขได้ในแผนที่ |
| MapUISettings | ประเภทข้อมูลสำหรับการตั้งค่าที่เกี่ยวข้องกับ UI ในแผนที่ |
| เครื่องหมาย | ฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กเพื่อเพิ่มเครื่องหมายลงในแผนที่ |
| รูปหลายเหลี่ยม | ฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กเพื่อเพิ่มรูปหลายเหลี่ยมลงในแผนที่ |
| Polyline | ฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กเพื่อเพิ่มเส้นหลายส่วนลงในแผนที่ |
| TileOverlay | ฟังก์ชันที่ประกอบกันได้เพื่อเพิ่มการวางซ้อนของชิ้นส่วนแผนที่ลงในแผนที่ |
ดูรายการฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็กและประเภทข้อมูลทั้งหมดได้ที่ ข้อมูลอ้างอิงไลบรารี Maps Compose
ข้อกำหนด
หากต้องการใช้ไลบรารี Maps Compose กับ Maps SDK สำหรับ Android คุณต้องทำดังนี้
- ดาวน์โหลด และติดตั้ง Android Studio Arctic Fox
สร้างโปรเจ็กต์ Google Maps ใน Android Studio โดยมีสิ่งต่อไปนี้
- ประเภทเทมเพลตเป็น Empty Compose Activity เทมเพลตนี้จะเพิ่มทรัพยากร Dependency ที่จำเป็นซึ่ง Jetpack Compose กำหนด
- SDK ขั้นต่ำ ตั้งค่าเป็น Android API ระดับ 23 ("Marshmallow"; Android 6.0) ขึ้นไป
- ตั้งค่าภาษา เป็น Kotlin
รับคีย์ API แล้วเพิ่มลงในโปรเจ็กต์
ติดตั้งไลบรารี Maps Compose ในโปรเจ็กต์ตามที่อธิบายไว้ในส่วนถัดไป
การติดตั้ง
วิธีติดตั้งไลบรารี Maps Compose ในโปรเจ็กต์ Google Maps
เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์
build.gradle.ktsระดับโมดูล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") }
สร้างโปรเจ็กต์ใหม่ใน Android Studio เพื่อซิงค์การเปลี่ยนแปลงเหล่านี้
เพิ่มแผนที่ลงในแอป
ตัวอย่างต่อไปนี้แสดงวิธีใช้ 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" ) }
ในตัวอย่างนี้ แผนที่จะใช้พื้นที่สูงสุดที่อนุญาตและกล้องจะอยู่กึ่งกลางรอบๆ สิงคโปร์ นอกจากนี้ ระบบยังสร้าง CameraPositionState และระบุไว้ใน cameraPositionState เพื่อตั้งค่าตำแหน่งของกล้องด้วย
จากนั้นตัวอย่างจะเรียกฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็ก Marker ในเนื้อหาของแผนที่เพื่อเพิ่มเครื่องหมายลงในแผนที่
หากต้องการเปรียบเทียบตัวอย่างนี้กับตัวอย่างที่เพิ่มแผนที่โดยใช้ Views โปรดดูคู่มือเริ่มต้นใช้งานฉบับย่อ QuickStart โปรดสังเกตว่าฟังก์ชันที่เน้นสร้างส่วนประกอบขนาดเล็ก ต้องใช้โค้ดน้อยกว่า และคุณไม่ต้องกังวลเกี่ยวกับวงจรการทำงานของแผนที่
ตั้งค่าพร็อพเพอร์ตี้ในแผนที่
คุณตั้งค่าพร็อพเพอร์ตี้ในแผนที่ได้โดยระบุออบเจ็กต์ MapProperties หรือออบเจ็กต์ MapUiSettings สำหรับพร็อพเพอร์ตี้ที่เกี่ยวข้องกับ UI คุณสามารถแก้ไขออบเจ็กต์เหล่านี้เพื่อทริกเกอร์การสร้างแผนที่ใหม่ของ
ในตัวอย่างด้านล่าง ให้ใช้ Switch, ซึ่งเป็น คอมโพเนนต์ Material Design, เพื่อสลับการควบคุมการซูมในแผนที่
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) } ) }
ขั้นตอนถัดไป
- ดูหน้าโปรเจ็กต์ GitHub ของไลบรารี Maps Compose
- ดูเอกสารประกอบของ Jetpack Compose