L'exemple de code suivant montre comment ajouter un repère de base à une carte 3D en appelant la méthode addMarker. Pour utiliser cet exemple de code, suivez les instructions des sections Configuration et Ajouter une carte 3D à votre application pour configurer votre projet Android Studio avec une carte 3D de base. Ajoutez ensuite le code suivant au fichier 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 })
Écouter les événements de clic sur un repère
Pour écouter les événements de clic sur un repère, appelez setClickListener sur l'objet du repère. L'exemple suivant montre comment définir un écouteur de clic sur un repère :
marker.setClickListener { lifecycleScope.launch(Dispatchers.Main) { Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT) .show() } }
Notez que le gestionnaire de clics ne s'exécute pas sur le thread principal (ou de l'UI). Si vous souhaitez apporter des modifications à l'UI (par exemple, afficher un message Toast), vous devez passer au thread principal. Pour Kotlin, vous pouvez utiliser lifecycleScope.launch(Dispatchers.Main).