【问题标题】: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")!])
    

    【讨论】:

      【解决方案2】:

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

      @Andr3a88 答案: How to implement GMUClusterRenderer in Swift

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

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

      问题的数量证明很多像我这样的人都遇到了错误。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-17
        • 2018-02-16
        • 1970-01-01
        • 2011-01-28
        • 2020-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多