自定义MKPointAnnotation的大小

问题描述 投票:-1回答:2

我对自定义MKAnnotationView的大小有疑问。我设置了一个自定义图像,但是当MKMapView的缩放更改注释的大小时,它没有。我丢失了注释的默认行为,例如在缩放,调整大小等方面消失了。感谢您的帮助。

我的自定义注释:

class CustomPointAnnotation: MKPointAnnotation {
var pinCustomImageName:String!
var index : Int! }


func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {

    let reuseIdentifier = "pin"
    var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: reuseIdentifier)
    annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseIdentifier)

    annotationView?.canShowCallout = true;
    let customPointAnnotation = annotation as! CustomPointAnnotation

    var image = UIImage(named: customPointAnnotation.pinCustomImageName)
    annotationView?.image = image
    annotationView!.isEnabled = true
    annotationView!.canShowCallout = true
    return annotationView
    }

编辑:我只是想在放大或缩小地图时调整注释视图的大小。而当我很远时,烦恼消失了。

swift mapkit mkmapview mkannotation mkannotationview
2个回答
0
投票

使注释消失,使用displayPriority

 annotationView?.displayPriority = .defaultHigh

静态let 必需:MKFeatureDisplayPriority一个常数,指示该项目是必需的。

static let defaultHigh:MKFeatureDisplayPriority一个常量,指示该项目的显示优先级高。

static let defaultLow:MKFeatureDisplayPriority一个常数,指示项目的显示优先级低。Apple documentation


-1
投票

添加此行

...
annotationView?.clusteringIdentifier = "aaaa"
...
© www.soinside.com 2019 - 2024. All rights reserved.