如何在Google Maps for iOS中调整GMSMarker图标的大小?

时间:2014-12-25 23:54:43

标签: ios objective-c google-maps

我在xCode中使用Google Maps SDK并尝试缩放标记图标,使其在mapView上变大。

我正在尝试做这样的事情:

marker.icon.scale = 3.0f;

但它给了我一个:

  

分配给readonly属性错误

显然,因为它是只读的,所以我不能写信给它。

因此,是否可以选择调整标记图标的大小或缩放?

3 个答案:

答案 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;