Google Maps iOS SDK。如何在重叠另一个标记时隐藏标记标签?

时间:2018-04-18 11:24:44

标签: objective-c swift google-maps google-maps-markers google-maps-sdk-ios

我希望复制Google地图应用的行为,如果标签与其他标签或图标重叠,动态隐藏标签。

像这样:

Both labels showing

One label showing

我目前的设置是带有GMSMarkers的GMSMapView,它有自定义图标(UIImages):

Custom marker and label

由于SDK没有提供将标签添加到标记的方法,因此标记和标签按照这样的UIImage分组:

    let label = UILabel() //simplified
    let iconView = UIImageView //simplified
    UIGraphicsBeginImageContextWithOptions(label.frame.size, false, UIScreen.main.scale)
    if let currentContext = UIGraphicsGetCurrentContext() {
            iconView.layer.render(in: currentContext)
            let iconAndLabel = UIGraphicsGetImageFromCurrentImageContext()
            marker.icon = iconAndLabel
        }
    UIGraphicsEndImageContext()

0 个答案:

没有答案