ios - 如何在 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)
我也发现这可以解决。
我想获得一种方法来控制群集标记(圆形)的边框、背景颜色、透明度和大小。
请帮我。
解决方案
如果您只需要更改颜色,则可以在初始化 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,也可以为您的存储桶提供一组 backgroundImages:
let iconGenerator = GMUDefaultClusterIconGenerator.init(buckets: [99999], backgroundImages: [UIImage(named: "YOUR_IMAGE_HERE")!])
推荐阅读
- amazon-web-services - ec2 实例连接到一些网络服务器而不是其他
- regex - 打破 RegEx 匹配中间模式
- node.js - 检查排序后现有是否不起作用
- javascript - Node.js 突然找不到任何模块了
- mysql - 来自具有不同条件的不同表的多个 SUM
- swift - 如何在带有标签和按钮的页面的一半上显示 WKWebView
- android - Android multidex 不适用于外部 AAR 中的 Threat Metrix
- c# - 在 Android 的新 Intent 中使用 FileProvider 在公共存储中打开 .DocX 文件时出错
- pdfview - 如何恢复在 PDF 视图中加载的最后一页?
- javascript - 在 MVC 中设置多选下拉菜单的选定值