1
我正在嘗試從MapKit實現MKSnapshotter。我想使用蘋果地圖創建我在mapview(streetview)中找到的位置的快照。如何在Swift中使用MKSnapshotter(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;
}
var 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 {
var point:CGPoint = snapshot.pointForCoordinate(annotation.coordinate);
}
}
當我嘗試做一個點(VAR點:CGPoint = snapshot.pointForCoordinate(annotation.coordinate);),錯誤: '座標'不可用:出現Swift中不支持從iOS7及更早版本棄用的API。
基本上,因爲關於如何在swift中使用MKSnapshotter沒有太多的教程/指導原則,如果能夠在swift中看到MKSNapshotter的標準結構,我們將不勝感激。我覺得我走在正確的道路上,但是我堅持了最後一行代碼,坦白地說,它甚至不能工作。
謝謝!
感謝您指出。那麼你如何設置街景的圖像並將其顯示在我的VC上? – kebabTiger
那麼,一旦你有一個圖像,你創建一個具有圖像視圖的視圖的控制器,並將你的圖像傳遞到那裏並顯示在UIImageView中。 –