Contoh kode berikut menunjukkan cara menambahkan penanda dasar ke peta 3D dengan
memanggil addMarker
metode. Untuk menggunakan contoh kode ini, ikuti petunjuk di
Menyiapkan dan Menambahkan peta 3D ke aplikasi Anda
untuk menyiapkan project Android Studio dengan peta 3D dasar. Kemudian, tambahkan kode berikut ke file MainActivity.kt:
// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude
...
// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.SATELLITE)
googleMap3D.setCamera(
camera {
center = latLngAltitude {
latitude = 52.51974795
longitude = 13.40715553
altitude = 150.0
}
heading = 252.7
tilt = 79.0
range = 1500.0
}
)
// Add a marker using absolute altitude positioning
googleMap3D.addMarker(markerOptions {
position = latLngAltitude {
latitude = 52.519605780912585
longitude = 13.406867190588198
altitude = 150.0
}
label = "Absolute (150m)"
altitudeMode = AltitudeMode.ABSOLUTE
isExtruded = true
isDrawnWhenOccluded = true
collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})
Memproses peristiwa klik penanda
Untuk memproses peristiwa klik pada penanda, panggil setClickListener pada objek penanda. Contoh berikut menunjukkan cara menetapkan pemroses klik pada penanda:
marker.setClickListener {
lifecycleScope.launch(Dispatchers.Main) {
Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT)
.show()
}
}
Perhatikan bahwa pengendali klik tidak berjalan di thread Utama (atau UI). Jika ingin melakukan perubahan pada UI (seperti menampilkan pesan Toast), Anda harus beralih ke thread Utama. Untuk Kotlin, Anda dapat melakukannya menggunakan lifecycleScope.launch(Dispatchers.Main).