Instance Method


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


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



The dispatch queue on which to execute the block specified by the completionHandler parameter.


The block to call with the resulting snapshot. This block must not be nil.


Call this method to begin generating a snapshot image based on the specified parameters. This method executes the request asynchronously. When rendering is complete, the snapshotter delivers the results to your block on the dispatch queue in the queue parameter.

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(completionHandler: MKMapSnapshotter.CompletionHandler)

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

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.