---
title: MKMapSnapshotter
framework: mapkit
role: symbol
role_heading: Class
path: mapkit/mkmapsnapshotter
---

# MKMapSnapshotter

A utility class for capturing a map and its content into an image.

## Declaration

```swift
class MKMapSnapshotter
```

## Overview

Overview Use an MKMapSnapshotter object when you want to capture the system-provided map content, including the map tiles and imagery. The snapshotter object captures the best image possible by loading all of the available map tiles before capturing the image. Configure a snapshotter object using an MKMapSnapshotter.Options object. The snapshot options specify the appearance of the map, including which portion of the map the snapshotter captures. note: Snapshotter objects don’t capture the visual representations of any overlays or annotations that your app creates. If you want those items to appear in the final snapshot, you must draw them on the resulting snapshot image. For more information about drawing custom content on map snapshots, see MKMapSnapshotter.Snapshot.

## Topics

### Creating a snapshotter object

- [init(options:)](mapkit/mkmapsnapshotter/init(options:).md)
- [MKMapSnapshotter.Options](mapkit/mkmapsnapshotter/options.md)

### Generating a snapshot

- [start(completionHandler:)](mapkit/mkmapsnapshotter/start(completionhandler:).md)
- [start(with:completionHandler:)](mapkit/mkmapsnapshotter/start(with:completionhandler:).md)
- [MKMapSnapshotter.CompletionHandler](mapkit/mkmapsnapshotter/completionhandler.md)
- [cancel()](mapkit/mkmapsnapshotter/cancel().md)
- [isLoading](mapkit/mkmapsnapshotter/isloading.md)

### Snapshot output

- [MKMapSnapshotter.Snapshot](mapkit/mkmapsnapshotter/snapshot.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Static map snapshots

- [MKMapSnapshotter.Snapshot](mapkit/mkmapsnapshotter/snapshot.md)
