Il seguente esempio di codice mostra come aggiungere un modello 3D e posizionarlo
nello spazio 3D chiamando il
addModel
metodo. Per utilizzare questo esempio di codice, segui le istruzioni riportate in
Configurare e aggiungere una mappa 3D alla tua
app per configurare il tuo
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 sui modelli 3D
Per ascoltare gli eventi di clic su un modello 3D, chiama setClickListener sull'oggetto modello. L'esempio seguente mostra come impostare un listener di 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 nel thread principale (o dell'interfaccia utente). Se vuoi apportare modifiche all'interfaccia utente (ad esempio mostrare un messaggio Toast), devi passare al thread principale. Per Kotlin, puoi farlo utilizzando lifecycleScope.launch(Dispatchers.Main).