Il seguente esempio di codice
mostra come aggiungere un modello 3D e posizionarlo nello spazio 3D chiamando il metodo
addModel. Per utilizzare questo esempio di codice, segui le istruzioni riportate in
Configurazione e
Aggiungere una mappa 3D all'app per configurare
il progetto Android Studio con una mappa 3D di base. Poi, aggiungi il seguente codice al file
MainActivity.kt:
// Add imports and define constants import com.google.android.gms.maps3d.model.latLngAltitude val PLANE_URL = "https://storage.googleapis.com/gmp-maps-demos/p3d-map/assets/Airplane.glb" val PLANE_SCALE = 0.05 // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.setCamera( camera { center = latLngAltitude { latitude = 47.133971 longitude = 11.333161 altitude = 2200.0 } heading = 221.0 tilt = 65.0 range = 1_200.0 } ) googleMap3D.addModel( modelOptions { id = "plane_model" position = latLngAltitude { latitude = 47.133971 longitude = 11.333161 altitude = 2200.0 } altitudeMode = AltitudeMode.ABSOLUTE orientation = orientation { heading = 41.5 tilt = -90.0 roll = 0.0 } url = PLANE_URL scale = vector3D { x = PLANE_SCALE y = PLANE_SCALE z = PLANE_SCALE } } )
Ascoltare gli eventi di clic sul modello 3D
Per rilevare gli eventi di clic su un modello 3D, chiama
setClickListener sull'oggetto modello. Il seguente esempio mostra
come impostare un listener dei clic su un modello 3D:
model.setClickListener { lifecycleScope.launch(Dispatchers.Main) { Toast.makeText(this@ModelsActivity, "Model clicked", Toast.LENGTH_SHORT).show() } }
Tieni presente che il gestore dei clic non viene eseguito sul thread principale (o UI). Se vuoi apportare modifiche all'UI (ad esempio mostrare un messaggio di notifica), devi passare al thread principale. Per Kotlin, puoi farlo utilizzando
lifecycleScope.launch(Dispatchers.Main).