如何更改google地图的簇颜色 In Swift 4

How to change the cluster color of google map In Swift 4

我是按照https://developers.google.com/maps/documentation/ios-sdk/utility/marker-clustering.

实现的

但是,有一个问题。

我不知道如何控制聚类标记的颜色和透明度。

我通过搜索查看了,但我无法理解任何其他语言代码,包括 Object-C。

let iconGenerator = GMUDefaultClusterIconGenerator ()
let algorithm = GMUNonHierarchicalDistanceBasedAlgorithm ()
let renderer = GMUDefaultClusterRenderer (mapView: mapView, clusterIconGenerator: iconGenerator)

我也发现这个可以解决

我想获得一种方法来控制聚类标记(圆)的边框、背景颜色、透明度和大小。

请帮助我。

我找到了完美解决方案的答案。

@Andr3a88 回答:

正确答案是创建图像而不是在脚本中画圆。

在上面的脚本中也可以更改文本。

问题的数量证明很多人和我一样遇到错误。

所以我会留下几个问题来帮助您找到更完整的解决方案。

如果您只需要更改颜色,您可以在初始化 GMUDefaultClusterIconGenerator 时添加多种颜色的桶(如果您只需要一种颜色,则只需添加一种颜色,如下例所示)。我使用了大量(高于集群项目的最大数量)以便所有集群都具有相同的颜色。要使用多种颜色,您可以添加多个桶和多种颜色。

let iconGenerator = GMUDefaultClusterIconGenerator.init(buckets: [99999], backgroundColors: [UIColor.red])
let algorithm = GMUNonHierarchicalDistanceBasedAlgorithm()
let renderer = GMUDefaultClusterRenderer(mapView: googleMapView, clusterIconGenerator: iconGenerator)

clusterManager = GMUClusterManager(map: googleMapView, algorithm: algorithm, renderer: renderer)
clusterManager.setDelegate(self, mapDelegate: self)

要使用图像作为您的集群背景,您可以按照您的指示创建自定义 GMUClusterRenderer,或者您可以为您的存储桶提供一组背景图像:

let iconGenerator = GMUDefaultClusterIconGenerator.init(buckets: [99999], backgroundImages: [UIImage(named: "YOUR_IMAGE_HERE")!])