我在谷歌地图上有标记,想要添加每个相应地点的名称UILabel。我看到GMSMarker属性标题是特定于标记的infoWindow,从可用研究的少量信息来看,可能需要制作自定义图标?是否有iOS实现(更容易)的示例?
GMSMarker
进行子类化,并根据您的需要创建其iconView
。示例:
(UIView*) iconView [读取、写入、分配]
要呈现的标记视图。如果为空,则会回退到icon属性。
class CustomMarker: GMSMarker {
var label: UILabel!
init(labelText: String) {
super.init()
let iconView = UIView(frame: CGRect(origin: .zero, size: CGSize(width: 50, height: 80)))
iconView.backgroundColor = .white
label = UILabel(frame: CGRect(origin: .zero, size: CGSize(width: iconView.bounds.width, height: 40)))
label.text = labelText
iconView.addSubview(label)
self.iconView = iconView
}
}
使用方法:
let marker = CustomMarker(labelText: "my_label")
marker.position = CLLocationCoordinate2D(latitude: 0, longitude: 0)
marker.map = //your mapView object
iconView
仅用于创建要呈现的标记的 markdown。您的标记不会像通常的 UIView
一样可以交互,因此添加任何手势或复杂的可滚动视图都不会产生任何效果。