---
title: Map
framework: mapkit
role: symbol
role_heading: Structure
path: mapkit/map
---

# Map

A view that displays an embedded map interface.

## Declaration

```swift
@MainActor @preconcurrency struct Map<Content> where Content : View
```

## Overview

Overview Use this SwiftUI view to display a Map with markers, annotations, and custom content you provide. You can configure the Map to optionally display the user’s location, track a location, and display various controls to allow them to interact with and control the map’s display. The following example displays a map of downtown San Francisco that shows different markers, and an annotation with custom view content at specific locations:     struct ContentView: View {         var body: some View {             Map {                 Marker("San Francisco City Hall", coordinate: cityHallLocation)                     .tint(.orange)                 Marker("San Francisco Public Library", coordinate: publicLibraryLocation)                     .tint(.blue)                 Annotation("Diller Civic Center Playground", coordinate: playgroundLocation) {                     ZStack {                         RoundedRectangle(cornerRadius: 5)                             .fill(Color.yellow)                         Text("🛝")                             .padding(5)                     }                 }             }             .mapControlVisibility(.hidden)         }     } You create markers, annotations, and overlays using MapContentBuilder with any of several MapContent types including: Annotation UserAnnotation Marker MapCircle MapPolygon MapPolyline You can also add a variety of controls to allow a person to interact with the map to change the map’s scale, display or hide the device’s current location, and so on: MapCompass MapPitchButton MapPitchSlider MapScaleView MapUserLocationButton MapZoomStepper

## Topics

### Creating a map

- [init(bounds:interactionModes:scope:)](mapkit/map/init(bounds:interactionmodes:scope:).md)
- [init(bounds:interactionModes:scope:content:)](mapkit/map/init(bounds:interactionmodes:scope:content:).md)
- [init(bounds:interactionModes:selection:scope:)](mapkit/map/init(bounds:interactionmodes:selection:scope:)-11lec.md)
- [init(bounds:interactionModes:selection:scope:)](mapkit/map/init(bounds:interactionmodes:selection:scope:)-236di.md)
- [init(bounds:interactionModes:selection:scope:content:)](mapkit/map/init(bounds:interactionmodes:selection:scope:content:)-28wns.md)
- [init(bounds:interactionModes:selection:scope:content:)](mapkit/map/init(bounds:interactionmodes:selection:scope:content:)-2tdbr.md)
- [init(initialPosition:bounds:interactionModes:scope:)](mapkit/map/init(initialposition:bounds:interactionmodes:scope:).md)
- [init(initialPosition:bounds:interactionModes:scope:content:)](mapkit/map/init(initialposition:bounds:interactionmodes:scope:content:).md)
- [init(initialPosition:bounds:interactionModes:selection:scope:)](mapkit/map/init(initialposition:bounds:interactionmodes:selection:scope:).md)
- [init(initialPosition:bounds:interactionModes:selection:scope:content:)](mapkit/map/init(initialposition:bounds:interactionmodes:selection:scope:content:)-9feos.md)
- [init(initialPosition:bounds:interactionModes:selection:scope:content:)](mapkit/map/init(initialposition:bounds:interactionmodes:selection:scope:content:)-451vp.md)
- [init(position:bounds:interactionModes:scope:)](mapkit/map/init(position:bounds:interactionmodes:scope:).md)
- [init(position:bounds:interactionModes:scope:content:)](mapkit/map/init(position:bounds:interactionmodes:scope:content:).md)
- [init(position:bounds:interactionModes:selection:scope:)](mapkit/map/init(position:bounds:interactionmodes:selection:scope:).md)
- [init(position:bounds:interactionModes:selection:scope:content:)](mapkit/map/init(position:bounds:interactionmodes:selection:scope:content:)-47y4p.md)
- [init(position:bounds:interactionModes:selection:scope:content:)](mapkit/map/init(position:bounds:interactionmodes:selection:scope:content:)-9xq1q.md)
- [MapInteractionModes](mapkit/mapinteractionmodes.md)

### Deprecated

- [Deprecated Symbols](mapkit/deprecated-symbols.md)

### Displaying place information

- [mapItemDetailSelectionAccessory(_:)](mapkit/mapcontent/mapitemdetailselectionaccessory(_:).md)

### Initializers

- [init(bounds:interactionModes:selection:scope:content:)](mapkit/map/init(bounds:interactionmodes:selection:scope:content:)-335qt.md)
- [init(initialPosition:bounds:interactionModes:selection:scope:content:)](mapkit/map/init(initialposition:bounds:interactionmodes:selection:scope:content:)-2u4ry.md)
- [init(position:bounds:interactionModes:selection:scope:content:)](mapkit/map/init(position:bounds:interactionmodes:selection:scope:content:)-96bhq.md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [View](swiftui/view.md)

## See Also

### Essentials

- [MapStyle](mapkit/mapstyle.md)
