
You can set a marker's altitude by setting the altitudeMode
property to one of the
following values:
-
ABSOLUTE -
RELATIVE_TO_GROUND -
CLAMP_TO_GROUND -
RELATIVE_TO_MESH
The following code sample
demonstrates how to use each of the methods. 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
}
)
// Marker 1: Absolute
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
})
// Marker 2: Relative to Ground
googleMap3D
.
addMarker
(
markerOptions
{
position
=
latLngAltitude
{
latitude
=
52.519882191069016
longitude
=
13.407410777254293
altitude
=
50.0
}
label
=
"Relative to Ground (50m)"
altitudeMode
=
AltitudeMode
.
RELATIVE_TO_GROUND
isExtruded
=
true
isDrawnWhenOccluded
=
true
})
// Marker 3: Clamped to Ground
googleMap3D
.
addMarker
(
markerOptions
{
position
=
latLngAltitude
{
latitude
=
52.52027645136134
longitude
=
13.408271658592406
altitude
=
0.0
// altitude is effectively ignored by CLAMP_TO_GROUND for rendering,
// but might be relevant if you read the marker's position later.
// For CLAMP_TO_GROUND, it's often set to 0.0.
}
label
=
"Clamped to Ground"
altitudeMode
=
AltitudeMode
.
CLAMP_TO_GROUND
isExtruded
=
true
isDrawnWhenOccluded
=
true
})
// Marker 4: Relative to Mesh
googleMap3D
.
addMarker
(
markerOptions
{
position
=
latLngAltitude
{
latitude
=
52.520835071144226
longitude
=
13.409426847943774
altitude
=
10.0
// Altitude relative to 3D mesh (buildings, terrain features)
}
label
=
"Relative to Mesh (10m)"
altitudeMode
=
AltitudeMode
.
RELATIVE_TO_MESH
isExtruded
=
true
isDrawnWhenOccluded
=
true
})

