所以我有一些在地图上标记为注释的公交车站。我没有使用默认的红色气泡或引脚,而是想使用公交车站牌的图像,所以我成功地改变了图像。
这样做,因为图像是512x512,我决定使用transform缩放MKAnnotationView。因此,当我选择一个公共汽车站时,标注气泡现在也被缩放到相同的水平,这使得它不可读。
有没有办法在不缩放calloutView的情况下缩放图像?
我的代码:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "stopPin")
annotationView.canShowCallout = true
annotationView.image = UIImage(named: "busStop.png")
let transform = CGAffineTransform(scaleX: 0.25, y: 0.25)
annotationView.transform = transform
return annotationView
}
答案 0 :(得分:1)
使用UIGraphics
。
let image = UIImage(named: "busStop.png")
let resizedSize = CGSize(width: 100, height: 100)
UIGraphicsBeginImageContext(resizedSize)
image?.draw(in: CGRect(origin: .zero, size: resizedSize))
let resizedImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
annotationView?.image = resizedImage