Select platform: [Android](https://developers.google.com/maps/documentation/maps-3d/android-sdk/configure-marker-altitude.md.txt "View this page for the Android platform docs.") [iOS](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/configure-marker-altitude.md.txt "View this page for the iOS platform docs.")

<br />

![Markers on a 3D map](https://developers.google.com/static/maps/documentation/maps-3d/android-sdk/images/markers.png)

You can set a marker's

altitude

by
setting the
[`altitudeMode`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/MarkerOptions.md.txt#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](https://developers.google.com/maps/documentation/maps-3d/android-sdk/setup.md.txt) and [Add a 3D map to your
app](https://developers.google.com/maps/documentation/maps-3d/android-sdk/add-a-3d-map) to set up your
Android Studio project with a basic 3D map. Then, add the following code to the
**`MainActivity.kt`** file:

```kotlin
  // Add imports
  import com.google.android.gms.maps3d.model.Map3DMode
  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
  })
```