我在xCode中使用Google Maps SDK并尝试缩放标记图标,使其在mapView上变大。
我正在尝试做这样的事情:
marker.icon.scale = 3.0f;
但它给了我一个:
分配给readonly属性错误
显然,因为它是只读的,所以我不能写信给它。
因此,是否可以选择调整标记图标的大小或缩放?
答案 0 :(得分:13)
如果要以编程方式更改UIImage图标的大小,可以实现自定义方法将UIImage更改为所需的比例。
您可以尝试this answer中的方法。
在代码中实现该方法后,您可以执行以下操作来更改图标(因为marker.icon是可写的):
marker.icon = [self image:marker.icon scaledToSize:CGSizeMake(3.0f, 3.0f)];
答案 1 :(得分:3)
您可以将图像转换为NSData
NSData *imageData = [NSData dataWithContentsOfFile:imagePath];
然后使用UIImage API方法imageWithData:scale :,您可以将图标更改为您想要的任何比例:
marker.icon = [UIImage imageWithData:imageData scale:2.0];
答案 2 :(得分:0)
您可以创建
CGRect frame = CGRectMake(0, 0, 10, 10);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
imageView.image = [UIImage imageNamed:@"yourImage"];
然后将其分配给标记
marker.iconView = imageView;