<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: -",
    "watchOS: 7.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MapKit",
  "identifier" : "/documentation/MapKit/MapInteractionModes",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "MapKit",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:15_MapKit_SwiftUI0A16InteractionModesV"
  },
  "title" : "MapInteractionModes"
}
-->

# MapInteractionModes

Options that indicate the user interactions that the map responds to.

```
struct MapInteractionModes
```

## Overview

A person can’t interact with a map if the option set is empty.

## Topics

### Declared interaction modes

[`static let all: MapInteractionModes`](/documentation/MapKit/MapInteractionModes/all)

The map allows all interaction modes.

[`static let pan: MapInteractionModes`](/documentation/MapKit/MapInteractionModes/pan)

The map allows a person to pan around to different areas of the map.

[`static let zoom: MapInteractionModes`](/documentation/MapKit/MapInteractionModes/zoom)

The map allows people to zoom in or out on map locations.

[`static let pitch: MapInteractionModes`](/documentation/MapKit/MapInteractionModes/pitch)

The map allows people to set the map’s pitch to view the map from different angles.

[`static let rotate: MapInteractionModes`](/documentation/MapKit/MapInteractionModes/rotate)

The map allows people to rotate the map.

### Creating interaction modes

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/init()>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/init(_:)>

  <doc://com.apple.documentation/documentation/Swift/ExpressibleByArrayLiteral/init(arrayLiteral:)>

  <doc://com.apple.documentation/documentation/Swift/ExpressibleByArrayLiteral/ArrayLiteralElement>

  <doc://com.apple.documentation/documentation/Swift/OptionSet/Element>

### Accessing members

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/isEmpty>

### Comparing sets of modes

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/contains(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/isDisjoint(with:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/isStrictSubset(of:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/isStrictSuperset(of:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/isSubset(of:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/isSuperset(of:)>

### Updating the modes

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/update(with:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/insert(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/remove(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/formSymmetricDifference(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/subtract(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/formUnion(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/formIntersection(_:)>

### Combining sets of modes

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/union(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/intersection(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/subtracting(_:)>

  <doc://com.apple.documentation/documentation/Swift/SetAlgebra/symmetricDifference(_:)>

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`ExpressibleByArrayLiteral`](/documentation/Swift/ExpressibleByArrayLiteral)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`OptionSet`](/documentation/Swift/OptionSet)

[`SetAlgebra`](/documentation/Swift/SetAlgebra)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)