Contoh kode berikut menunjukkan cara menambahkan polyline dan memosisikannya dalam ruang 3D dengan memanggil metode
addPolyline. Untuk menggunakan contoh kode ini, ikuti petunjuk di
Penyiapan 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.setCamera(
camera {
center = latLngAltitude {
latitude = 40.029349
longitude = -105.300354
altitude = 1833.9
}
heading = 326.0
tilt = 75.0
range = 3757.0
}
)
internal val trailLocations = """
40.0201040, -105.2976640
40.0201080, -105.2976450
40.0201640, -105.2975120
40.0202200, -105.2973740
40.0202500, -105.2972760
40.0202960, -105.2971410
40.0203080, -105.2970990
40.0203320, -105.2970070
40.0203640, -105.2969400
40.0203710, -105.2969250
40.0203770, -105.2969220
40.0203910, -105.2969130
40.0203940, -105.2969120
40.0204200, -105.2969130
40.0204630, -105.2968910
40.0205270, -105.2968280
40.0206030, -105.2967570
40.0206590, -105.2966100
40.0206990, -105.2964870
""".trimIndent().split("\n").map {
val (lat, lng) = it.split(",")
latLngAltitude {
latitude = lat.toDouble()
longitude = lng.toDouble()
altitude = 0.0 // The trail will be clamped to the ground
}
}
val trailPolylineOptions = polylineOptions {
coordinates = trailLocations
strokeColor = Color.RED
strokeWidth = 7.0
altitudeMode = AltitudeMode.CLAMP_TO_GROUND
zIndex = 5
drawsOccludedSegments = true
}
googleMap3D.addPolyline(trailPolylineOptions)
Memproses peristiwa klik polyline
Untuk memproses peristiwa klik pada polyline, panggil setClickListener pada
objek polyline. Contoh berikut menunjukkan cara menyetel pemroses klik pada
polyline:
polyline.setClickListener {
lifecycleScope.launch(Dispatchers.Main) {
Toast.makeText(this@PolylinesActivity, "Hiking time!", Toast.LENGTH_SHORT).show()
}
}
Perhatikan bahwa pengendali klik tidak berjalan di thread Utama (atau UI). Jika Anda
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).