The following code sample demonstrates how to add a basic marker to a 3D map by
caling the addMarker
method. To use this code sample, follow the instructions in Setup
and Add a 3D map to your app
to set up your Android Studio project with a basic 3D map. Then, add the
following code to the MainActivity.kt
file:
// 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 })
Listen for marker click events
To listen for click events on a marker, call setClickListener
on
the marker object. The following example shows how to set a click listener on a
marker:
marker . setClickListener { lifecycleScope . launch ( Dispatchers . Main ) { Toast . makeText ( this @MarkersActivity , "Clicked on marker: ${ marker . label } " , Toast . LENGTH_SHORT ) . show () } }
Note that the click handler does not run on the Main (or UI) thread. If you
want to make changes to the UI (such as showing a Toast message), you must
switch to the Main thread. For Kotlin, you can do this using lifecycleScope.launch(Dispatchers.Main)
.

