में एमकेएसएपशॉट को प्रदर्शित करने के लिए कैसे मैं एमकेएस स्नैपटर का उपयोग करके अपने ऐप में पिन किए गए किसी स्थान के सड़क दृश्य का एक स्नैपशॉट लेने की कोशिश कर रहा हूं। मैं वर्तमान में इस कोड है:स्विफ्ट (आईओएस)
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();
अब जब कि मैं छवि है, मैं कैसे वास्तव में मेरे MapView को स्नैपशॉट प्रदर्शित करने के लिए पता नहीं है।
किसी भी मदद की सराहना की जाएगी!