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 iOS:

> [!WARNING]
> **Known issue:** `.roadmap` mode isn't working on some devices in the current SDK release. A fix is anticipated imminently.

- `.roadmap` shows the default roadmap view with basemap labels.
- `.satellite` shows a photorealistic map based on aerial imagery.
- `.hybrid` shows the satellite map view with basemap labels.

## Set the map mode

Set the map mode when initializing the `Map` view by specifying the
`mode` parameter with one of the
[`MapMode`](https://developers.google.com/maps/documentation/maps-3d/ios-sdk/reference/Enums/MapMode.md.txt) enum
cases:

```swift
import SwiftUI
import GoogleMaps3D

struct ContentView: View {
  var body: some View {
    Map(mode: .roadmap)
  }
}
```

Bind the map mode to a state variable to change it dynamically:

```swift
import SwiftUI
import GoogleMaps3D

struct ContentView: View {
  @State private var mapMode: MapMode = .roadmap

  var body: some View {
    Map(mode: mapMode)
  }
}
```

## 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.