【发布时间】:2014-12-25 23:54:42
【问题描述】:
我在 xCode 中使用 Google Maps SDK 并尝试缩放标记图标以使其在 mapView 上更大。
我正在尝试做这样的事情:
marker.icon.scale = 3.0f;
但它给了我一个:
赋值给只读属性错误
显然,因为它是只读的,我无法写入它。
因此,是否有其他方法可以调整或缩放我的标记图标?
【问题讨论】:
标签: ios objective-c google-maps
我在 xCode 中使用 Google Maps SDK 并尝试缩放标记图标以使其在 mapView 上更大。
我正在尝试做这样的事情:
marker.icon.scale = 3.0f;
但它给了我一个:
赋值给只读属性错误
显然,因为它是只读的,我无法写入它。
因此,是否有其他方法可以调整或缩放我的标记图标?
【问题讨论】:
标签: ios objective-c google-maps
如果您想以编程方式更改 UIImage 图标的大小,您可以实现自定义方法将 UIImage 更改为所需的比例。
你可以试试this answer的方法。
在您的代码中实现该方法后,您可以执行以下操作来更改您的图标(因为 marker.icon 是可写的):
marker.icon = [self image:marker.icon scaledToSize:CGSizeMake(3.0f, 3.0f)];
【讨论】:
您可以将图像转换为 NSData
NSData *imageData = [NSData dataWithContentsOfFile:imagePath];
然后使用 UIImage API 方法 imageWithData:scale: ,您可以将您的图标更改为您想要的任何比例:
marker.icon = [UIImage imageWithData:imageData scale:2.0];
【讨论】:
你可以创建
CGRect frame = CGRectMake(0, 0, 10, 10);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:frame];
imageView.image = [UIImage imageNamed:@"yourImage"];
然后将其分配给标记
marker.iconView = imageView;
【讨论】: