我想用混合模式绘制 map 叠加层。但是这段代码只是在没有任何混合模式的情况下绘制白色叠加层。我做错了什么?
- (void)drawMapRectMKMapRect)mapRect zoomScaleMKZoomScale)zoomScale inContextCGContextRef)context
{
UIGraphicsPushContext(context);
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextSetBlendMode(context, kCGBlendModeSaturation);
CGContextFillRect(context, [self rectForMapRect:mapRect]);
UIGraphicsPopContext();
}
这是我想要的结果。我在 Photoshop 中制作了三层:
- 原始谷歌地图。
- 具有饱和度混合模式的黑色图层。
- 具有排除混合模式的白色图层。
Best Answer-推荐答案 strong>
我建议使用 openstreetmap 和 wms 服务器或使用 mapbox 之类的服务设计您自己的 map ,而不是将此自定义 map 添加为叠加层。
以下是如何添加其他 map 作为叠加层的示例:https://github.com/mtigas/iOS-MapLayerDemo
关于ios - MKOverlayView 用混合模式绘制一些东西,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/10785749/
|