Google maps iOS中带有GMSSyncTileLayer的透明平铺覆盖

Google maps iOS中带有GMSSyncTileLayer的透明平铺覆盖,google-maps,uiimage,png,google-maps-sdk-ios,Google Maps,Uiimage,Png,Google Maps Sdk Ios,我正在使用谷歌地图API。我正在现有地图的顶部创建一个覆盖图 覆盖使用UIImages,这些图像取自具有透明区域的.png图像 .PNG文件非常好,在其他任何地方都是透明的。但是,当我从GMSSyncTile的tileForX:Y:zoom:方法返回它们时(从该方法返回的UIImages将显示在地图上),它们不再是透明的。现在,透明区域是白色的 我花了几个小时试图弄明白这一点,我已经不知所措了。如果有人有任何想法,我将不胜感激 谢谢 是的!!!!!!我找到了答案 创建UIImage并将其作为地图

我正在使用谷歌地图API。我正在现有地图的顶部创建一个覆盖图

覆盖使用UIImages,这些图像取自具有透明区域的.png图像

.PNG文件非常好,在其他任何地方都是透明的。但是,当我从GMSSyncTile的tileForX:Y:zoom:方法返回它们时(从该方法返回的UIImages将显示在地图上),它们不再是透明的。现在,透明区域是白色的

我花了几个小时试图弄明白这一点,我已经不知所措了。如果有人有任何想法,我将不胜感激


谢谢

是的!!!!!!我找到了答案

创建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;