【问题标题】:Update cluster icon marker view ios/swift更新集群图标标记视图 ios/swift
【发布时间】:2019-05-06 19:01:06
【问题描述】:

我在方法markerInfoWindow中有一个簇标记 (https://developers.google.com/maps/documentation/ios-sdk/reference/protocol_g_m_s_map_view_delegate-p)

当标记被选中并且标记标题显示“即将推出”时,标记的不透明度变为 0.5

image here 我的问题是,我希望这个标记的不透明度在未选择时为 0.5,不仅在选择中。但我找不到公共方法。有人可以帮忙吗?

【问题讨论】:

    标签: ios swift google-maps


    【解决方案1】:

    你需要创建一个继承GMUClusterItem的自定义类

    /// Cluster Item
    class EVPOIItem : GMUClusterItem{
        init(icon : UIImage) {
            self.icon = icon
        }
    }
    

    之后,在GMUClusterRendererDelegate 的帮助下,您可以更改标记的图标和其他更新,例如

    extension ViewController : GMUClusterRendererDelegate{
    
    func renderer(_ renderer: GMUClusterRenderer, willRenderMarker marker: GMSMarker) {
        if (marker.userData! is EVPOIItem) {
            let customClusterItem = (marker.userData! as! EVPOIItem)
            marker.icon = customClusterItem.icon
        }
    }
    

    如果您有任何疑问,请告诉我。

    【讨论】:

    • 我已经创建了 POitem 类并且它已经可以工作了。问题是 func mapView(_ mapView: GMSMarker, markerInfoWindow marker: GMSMarker) -> UIView { 仅适用于选定的标记...我需要像 didShowMarker 或类似的函数.. 所以我可以在这里调用 marker.icon 并在名称显示“即将推出”时将不透明度设为 0.5
    • 对不起,我创建的 POitem 类是针对来自 .xib 文件的 markerInfoWindow...所以我会在上面尝试你的方法
    • 终于成功了..!我按照从这个问题stackoverflow.com/questions/38547622/… 实施 MarkerManager.h 的第二个答案的步骤
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2015-05-23
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多