我在地图上显示自定义道路并显示有关道路的详细信息,我需要使用自定义图像(盾牌)显示注释。
但现在我想用道路编号显示盾牌。因为有很多不同的道路,我无法在应用程序中添加所有这些盾牌。我想在应用程序中只保留一个盾牌图像,并在设置为注释图像时动态地在盾牌上写入数字。
Google Maps API中有一个可以执行此任务的IconGenerator库。所以我想在我的iOS Swift应用程序中使用MKMapKit做同样的事情。
提前致谢。
答案 0 :(得分:1)
如果你知道你的图像总是某些尺寸(例如正方形),那么你就知道这个数字的空白区域在哪里。您可以创建一个DynamicShield类,它具有公共图像和UILabel,可根据公共屏蔽图像的尺寸定位文本。
答案 1 :(得分:0)
我创建了imageview
并在image
中添加了label
和imageview
,并将imageview
设置为注释图片。
let annotationview = MKAnnotationView.init(annotation: annotationPoint, reuseIdentifier: "xyz")
annotationview.canShowCallout = true
var imageview = UIImageView(frame: CGRect(x: -15, y: -15, width: 30, height: 30))
var label = UILabel()
label.frame = CGRect(x: 0, y: 1, width: 30, height: 30)
label.textAlignment = .Center
label.font = UIFont.boldSystemFontOfSize(12)
label.textColor = UIColor.GrayColor()
label.text = “my-text”
imageview.addSubview(label)
imageview.image = UIImage(named: “image-name”)
annotationview.addSubview(imageview)
return annotationview