如果我正在使用MapView,并且想要将视图转换为图像,其中每个角都是地图点(地图缩放默认),我该怎么做? (不要求代码,只是一些方向)。我不想保存图像,只需在计算机视觉中使用图像矩阵,所有这些都可以在同一个程序中快速,动态地进行。我不能依赖截图。
希望这也有助于其他人 - 真的到处寻找但没有运气。
干杯
答案 0 :(得分:3)
MKMapSnapshotter是您正在寻找的。这是Swift中的一个例子:
let options = MKMapSnapshotOptions()
options.region = mapView.region
options.size = mapView.frame.size
options.scale = UIScreen.mainScreen().scale
let fileURL = NSURL(fileURLWithPath: "path/to/snapshot.png")
let snapshotter = MKMapSnapshotter(options: options)
snapshotter.startWithCompletionHandler { snapshot, error in
guard let snapshot = snapshot else {
print("Snapshot error: \(error)")
return
}
let data = UIImagePNGRepresentation(snapshot.image)
data?.writeToURL(fileURL, atomically: true)
}
如果您有兴趣阅读有关MKMapSnapshotter的更多信息,请查看this NSHipster帖子。在帖子中有一个如何在图像上绘制注释的示例,我以前在应用程序中使用它并且效果很好。
希望有所帮助!