Tôi đang cố chụp nhanh chế độ xem phố của một vị trí được gắn trong ứng dụng của tôi bằng MKSnapshotter. Tôi hiện đang có mã này:Cách hiển thị MKSnapshot trong Swift (iOS)
var options: MKMapSnapshotOptions = MKMapSnapshotOptions();
options.region = self.attractionDetailMap.region;
options.size = self.attractionDetailMap.frame.size;
options.scale = UIScreen.mainScreen().scale;
var fileURL:NSURL = NSURL(fileURLWithPath: "path/to/snapshot.png")!;
var snapshotter:MKMapSnapshotter = MKMapSnapshotter();
snapshotter.startWithCompletionHandler { (snapshot:MKMapSnapshot!, error:NSError!) -> Void in
if(error != nil) {
println("error: " + error.localizedDescription);
return;
}
let image:UIImage = snapshot.image;
var data:NSData = UIImagePNGRepresentation(image);
data.writeToURL(fileURL, atomically: true);
var pin:MKAnnotationView = MKAnnotationView();
UIGraphicsBeginImageContextWithOptions(image.size, true, image.scale);
image.drawAtPoint(CGPointMake(0.0, 0.0));
var rect:CGRect = CGRectMake(0.0, 0.0, image.size.width, image.size.height);
for annotation in self.attractionDetailMap.annotations as! [MKAnnotation]{
var point:CGPoint = snapshot.pointForCoordinate(annotation.coordinate);
if(CGRectContainsPoint(rect, point)) {
point.x = point.x + pin.centerOffset.x - (pin.bounds.size.width/2.0);
point.y = point.y + pin.centerOffset.y - (pin.bounds.size.height/2.0);
pin.image.drawAtPoint(point);
}
}
var compositeImage:UIImage = UIGraphicsGetImageFromCurrentImageContext();
var data2:NSData = UIImagePNGRepresentation(compositeImage);
data.writeToURL(fileURL, atomically: true);
UIGraphicsEndImageContext();
Bây giờ tôi có hình ảnh, tôi không biết cách hiển thị ảnh chụp nhanh cho bản đồ của mình.
Bất kỳ trợ giúp nào sẽ được đánh giá rất nhiều!