【问题标题】:How to change the cluster color of google map In Swift 4如何在 Swift 4 中更改谷歌地图的集群颜色
【发布时间】:2019-04-28 20:39:11
【问题描述】:
我是按照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)
我也发现这个可以解决。
我想获得一种方法来控制簇标记 (Circle) 的边框、背景颜色、透明度和大小。
请帮帮我。
【问题讨论】:
标签:
ios
swift
google-maps
markerclusterer
【解决方案1】:
如果您只需要更改颜色,则可以在初始化 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,也可以为您的存储桶提供一组 backgroundImage:
let iconGenerator = GMUDefaultClusterIconGenerator.init(buckets: [99999], backgroundImages: [UIImage(named: "YOUR_IMAGE_HERE")!])