【发布时间】:2016-07-18 22:18:57
【问题描述】:
有没有办法截取 mapView 并包含折线?我相信我需要在 MKSnapShotter 返回的图像上绘制 CGPoint,但我不确定如何这样做。
当前代码
func takeSnapshot(mapView: MKMapView, withCallback: (UIImage?, NSError?) -> ()) {
let options = MKMapSnapshotOptions()
options.region = mapView.region
options.size = mapView.frame.size
options.scale = UIScreen.main().scale
let snapshotter = MKMapSnapshotter(options: options)
snapshotter.start() { snapshot, error in
guard snapshot != nil else {
withCallback(nil, error)
return
}
if let image = snapshot?.image{
withCallback(image, nil)
for coordinate in self.area {
image.draw(at:snapshot!.point(for: coordinate))
}
}
}
}
【问题讨论】:
-
在Putting Map Kit in Perspective 视频中,Apple 演示了如果您想在快照中包含注释,您必须自己手动绘制它们。 (令人困惑,是的,但事实就是如此。)我认为
MKPolyline之类的叠加层也是如此。 -
谢谢,我去看看。
-
好的,视频内容丰富,但并没有真正的帮助。
-
我原以为演示,在快照中手动渲染注释图钉,会给你足够的线索如何用覆盖做等效的......
标签: ios swift mkmapview apple-maps mkmapsnapshotter