---
title: MapKit for SwiftUI
framework: MapKit
role: collectionGroup
role_heading: API Collection
platforms: []
path: mapkit/mapkit_for_swiftui
---

# MapKit for SwiftUI

MapKit for SwiftUI allows you to build map-centric views and apps across Apple platforms. You can design expressive and highly interactive Maps with minimal code by composing views, using ViewBuilders and view modifiers.

## Overview

Like MapKit for AppKit and UIKit, MapKit for SwiftUI allows you to take advantage of map styles ranging from satellite imagery to rich, 3D perspective imagery to present vivid maps. Using [MapContentBuilder](mapcontentbuilder.md) you can configure your maps to show [Marker](marker.md) and [Annotation](annotation.md) views, or — for more specialized content — you can design your own SwiftUI views to place on the map. To add even more interactivity, MapKit for SwiftUI supports overlays to highlight areas on the map, enabling you to animate paths and directions using [MapPolyline](mappolyline.md), or make it easy for people to dig deeper into on the ground details with tappable points of interest. People who use your app can also explore at street level using [LookAroundPreview](lookaroundpreview.md) and Look Around viewer.

> **note:** For more information about integrating MapKit into your app using SwiftUI, see WWDC23 session 10043: `Meet MapKit for SwiftUI`

## Topics

- [Searching, displaying, and navigating to places](searching-displaying-and-navigating-to-places.md)

### Essentials

- [Map](map.md)
- [MapStyle](mapstyle.md)

### Annotations and overlays

- [Annotation](annotation.md)
- [MapCircle](mapcircle.md)
- [MapPolygon](mappolygon.md)
- [MapPolyline](mappolyline.md)
- [Marker](marker.md)
- [UserAnnotation](userannotation.md)

### Map controls

- [MapCompass](mapcompass.md)
- [MapLocationCompass](maplocationcompass.md)
- [MapPitchSlider](mappitchslider.md)
- [MapPitchToggle](mappitchtoggle.md)
- [MapScaleView](mapscaleview.md)
- [MapUserLocationButton](mapuserlocationbutton.md)
- [MapZoomStepper](mapzoomstepper.md)

### Exploring at street level

- [LookAroundPreview](lookaroundpreview.md)

### Map features

- [MapFeature](mapfeature.md)
- [MapSelection](mapselection.md)
- [MapSelectable](mapselectable.md)

### Map customization

- [MapCamera](mapcamera.md)
- [MapCameraBounds](mapcamerabounds.md)
- [MapCameraPosition](mapcameraposition.md)
- [MapCameraUpdateContext](mapcameraupdatecontext.md)
- [MapCameraUpdateFrequency](mapcameraupdatefrequency.md)

### Place information

- [MapItemDetailSelectionAccessoryStyle](mapitemdetailselectionaccessorystyle.md)
- [mapItemDetailSelectionAccessory(_:)](mapcontent/mapitemdetailselectionaccessory(_:).md)
- [callout(_:)](mapitemdetailselectionaccessorystyle/callout(_:).md)

### Geocoding

- [MKGeocodingRequest](mkgeocodingrequest.md)
- [MKReverseGeocodingRequest](mkreversegeocodingrequest.md)

### Representing places and addresses

- [MKMapItem](mkmapitem.md)
- [MKAddress](mkaddress.md)
- [MKAddressRepresentations](mkaddressrepresentations.md)
- [GeoToolbox](../geotoolbox.md)

### Points of interest

- [PointOfInterestCategories](pointofinterestcategories.md)

### Protocols

- [DynamicMapContent](dynamicmapcontent.md)
- [MapContent](mapcontent.md)
- [MapContentBuilder](mapcontentbuilder.md)
- [MapContentView](mapcontentview.md)

### Structures

- [DefaultUserAnnotationContent](defaultuserannotationcontent.md)
- [EmptyMapContent](emptymapcontent.md)
- [MapProxy](mapproxy.md)
- [MapReader](mapreader.md)
- [TupleMapContent](tuplemapcontent.md)
- [MapSelectableContentView](mapselectablecontentview.md)

## See Also

### The MapKit APIs

- [MapKit for AppKit and UIKit](mapkit-for-appkit-and-uikit.md)
- [Adopting unified Maps URLs](unified-map-urls.md)
