我想用混合模式绘制地图叠加层。但是这段代码只是绘制白色叠加而没有任何混合模式。我做错了什么?
- (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context
{
UIGraphicsPushContext(context);
CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextSetBlendMode(context, kCGBlendModeSaturation);
CGContextFillRect(context, [self rectForMapRect:mapRect]);
UIGraphicsPopContext();
}
这是我想要的结果。我在Photoshop中用三层制作它:
答案 0 :(得分:2)
我建议您使用openstreetmap和wms服务器或像mapbox这样的服务设计自己的地图,然后将此自定义地图添加为叠加层。
以下是有关如何将其他地图添加为叠加层的示例:https://github.com/mtigas/iOS-MapLayerDemo
答案 1 :(得分:1)
我猜你无法直接访问真正的mapview上下文。因此,您可能需要拍摄地图的“屏幕截图”并在您的上下文中再次绘制。之后,您可以使用当然的效果。