gpt4 book ai didi

ios - Swift 注解自定义镜像

转载 作者:行者123 更新时间:2023-11-30 11:21:18 27 4
gpt4 key购买 nike

我正在使用 Swift 3 和 Xcode 10 beta 3,我需要为 map 上的图钉使用自定义图像。在另一篇文章中的一个人的帮助下,我们编写了这段代码,除了引脚仍然是默认值之外,一切正常。

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if let annotation = annotation as? Annotation {
let identifier = "identifier"
let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: identifier)
annotationView.image = annotation.image //add this
annotationView.canShowCallout = true
annotationView.calloutOffset = CGPoint(x: -5, y: 5)
annotationView.rightCalloutAccessoryView = UIButton(type: .detailDisclosure) as UIView
return annotationView
}
return nil
}

let marker = Annotation(title: "LVR" , subtitle: "" , coordinate: CLLocationCoordinate2D(latitude: 43.772523, longitude: 11.254356))
marker.image = UIImage(named: "antonioli.png")
//mapView.addAnnotation(marker)
self.map.addAnnotation(marker)

PNG 文件位于我的项目的主文件夹中,如下所示: Description

我该如何处理这个问题?

最佳答案

这里MyAnnotationNSObject、MKAnnotation的子类

func mapView(_ mapView: MKMapView,viewFor annotation: MKAnnotation) -> MKAnnotationView?
{
if annotation is MyAnnotation == false
{

return nil
}

let senderAnnotation = annotation as! MyAnnotation

let pinReusableIdentifier = senderAnnotation.pinColor.rawValue

var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: pinReusableIdentifier)

if annotationView == nil
{
annotationView = MKAnnotationView(annotation: senderAnnotation, reuseIdentifier: pinReusableIdentifier)
annotationView!.canShowCallout = true

}
let pinImage = UIImage(named:"location_curr.png")

annotationView!.image = pinImage

return annotationView

}

查看演示 MapCustomImage

关于ios - Swift 注解自定义镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51243641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com