魔术类是MKMapSnapshotter
假设有一个MKMapView
实例mapView
,这是一个简单的例子来创建的MKMapView的当前内容作为写入夫特TIFF文件的图像。 此图像可打印。
let options = MKMapSnapshotOptions()
options.region = mapView.region;
options.size = mapView.frame.size;
let fileURL = NSURL(fileURLWithPath:"/path/to/snapshot.tif")
let mapSnapshotter = MKMapSnapshotter(options: options)
mapSnapshotter.startWithCompletionHandler { (snapshot, error) -> Void in
// do error handling
let image = snapshot.image
if let data = image.TIFFRepresentation {
data.writeToURL(fileURL!, atomically:true)
} else {
println("could not create TIFF data")
}
}
编辑:
与打印,而不是创建一个文件
let options = MKMapSnapshotOptions()
options.region = mapView.region;
options.size = mapView.frame.size;
let mapSnapshotter = MKMapSnapshotter(options: options)
mapSnapshotter.startWithCompletionHandler { (snapshot, error) -> Void in
// do error handling
let image = snapshot.image
let imageView = NSImageView()
imageView.frame = NSRect(origin: NSZeroPoint, size: image.size)
imageView.image = image
let info = NSPrintInfo.sharedPrintInfo()
info.horizontalPagination = .FitPagination
info.verticalPagination = .FitPagination
let operation = NSPrintOperation(view: imageView, printInfo:info)
operation.showsPrintPanel = true
operation.runOperation()
你有没有想出解决办法? – ebrts 2015-06-26 16:17:25