Instance Method


Submits the request to create a snapshot and delivers the results to the specified block.


func start(completionHandler: @escaping MKMapSnapshotter.CompletionHandler)



The block to call with the resulting snapshot. This block is executed on the app’s main thread and must not be nil.


Call this method to begin generating a snapshot image based on the specified parameters. This method executes the request asynchronously.

The snapshotter delivers the final image to your app only when it is running in the foreground. The snapshotter must render the final image while your app is in the foreground. If you start generating a snapshot while the app is in the background, or if your app moves to the background while a snapshot is in progress, this behavior delays the delivery of the snapshot until your app returns to the foreground.

In macOS, this method creates both standard and high-resolution representations of the map data and includes both in the returned image object. In iOS, you must specify the image scale you want using the snapshot options, which default to the scale on the current device.

See Also

Generating a Snapshot

func start(with: DispatchQueue, completionHandler: MKMapSnapshotter.CompletionHandler)

Submits the request to create a snapshot and executes the resulting block on the specified queue.

typealias MKMapSnapshotter.CompletionHandler

A block that processes the results of a snapshot request.

func cancel()

Cancels the current request to create a snapshot.

var isLoading: Bool

A Boolean value indicating whether the snapshotter is currently generating an image.