我正在使用Google Maps API。我正在现有地图上创建叠加层。
叠加层使用UIImages,它取自具有透明区域的.png图像。
.PNG文件非常好,并且在其他任何地方都是透明的。但是当我从GMSSyncTile的 tileForX:Y:zoom:方法返回它们(从这个方法返回UIImages以显示在地图上)时,它们不再是透明的。现在,透明区域只是白色....!
我花了好几个小时试图解决这个问题,而且我的智慧结束了。如果有人有任何想法,我会非常感激。
谢谢!
答案 0 :(得分:1)
是!!!!!!我找到了答案!
当您创建UIImage并且即将在地图上将其作为图块返回时,请通过以下代码运行该图像:
CGSize size = [*yourImage* size];
UIGraphicsBeginImageContext(size);
CGRect rect = CGRectMake(0, 0, size.width, size.height);
[*yourImage* drawInRect:rect blendMode:kCGBlendModeNormal alpha:1.0];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 0.0, 0.0, 0.0, 0.0);
CGContextSetLineWidth(context, 5.0);
CGContextStrokeRect(context, rect);
fixedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return fixedImage;