MKMapView的黑白叠加层

Jon*_*Cox 6 mapkit mkmapview ios ios5

我有一个MKMapView,我正在添加一个叠加(MKOverlay).

我想叠加层使下面的地图视图显示为黑白(即单色).有没有办法做到这一点?

(我想我可以使叠加半透明的黑色/灰色,但这不是我想要的确切效果.)


系统详细信息:在Xcode 4.2中开发iOS 5应用程序.

Tom*_*mmy 8

最合适的路线,可悲的是在iOS上尚未提供,将是:

MKOverlay在某种程度上,你被用来创造一个MKOverlayView,它将有一个CALayer下降UIView.您可以将CIFilters作为compositingFilters 附加到CALayers,这决定了视图如何与背景合成.您可以附加类型的过滤器CIColorMonochrome.

由于该选项不可用,您将不得不跳过一些主要障碍来为自己完成工作.您可能需要实现自己的自定义MKOverlayView,它drawView使用Apple的QA1703中给出的技术来获取相关区域中的地图视图的像素内容(注意不要以无限递归循环结束),转换那些分为黑色和白色,并将它们作为您的视图.

这是值得进一步研究的东西还是你更乐于替换效果而不是真正深入研究这些东西?