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

<br />

> [!WARNING]
> Roadmap mode is Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google
> Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](https://developers.google.com/maps/launch-stages.md.txt).

> [!IMPORTANT]
> **Important:** You must set the map mode when loading a map. If the mode isn't specified, the map will fail to load.

The following 3D map modes are available in the Maps 3D SDK for Android:

- `ROADMAP` displays the default roadmap view with basemap labels.
- `SATELLITE` displays a photorealistic map based on aerial imagery.
- `HYBRID` displays the satellite map view with basemap labels.

## Set the map mode programmatically

Set the map mode dynamically in your code by calling the
[`setMapMode`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/GoogleMap3D.md.txt#setMapMode(kotlin.Int))
method on your `GoogleMap3D` object and passing one of the
[`Map3DMode`](https://developers.google.com/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/model/Map3DMode.md.txt)
values:

```kotlin
// Add imports
import com.google.android.gms.maps3d.model.Map3DMode

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.ROADMAP)
```

## Set the map mode in layout XML

Specify the initial map mode directly when declaring the `Map3DView` component
in your layout XML file using the `map3d:mapMode` attribute:

```xml
<com.google.android.gms.maps3d.Map3DView
    android:id="@+id/map3dView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map3d:mapMode="roadmap" />
```

## Use cases

The following are common use cases for each map mode:

- Roadmap: Ideal for navigation-heavy apps where legibility and street-level data are primary.
- Satellite and Hybrid: Ideal for real estate, environmental monitoring, or tourism apps where visual fidelity and terrain context are essential.