自定义MKPointAnnotation的大小

时间:2019-12-23 19:49:22

标签: swift mapkit mkmapview mkannotation mkannotationview

我对自定义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
    }

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

2 个答案:

答案 0 :(得分:0)

使用displayPriority使注解消失

 annotationView?.displayPriority = .defaultHigh
  

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

     

静态让默认高:MKFeatureDisplayPriority   一个常量,指示该项目的显示优先级高。

     

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

答案 1 :(得分:-1)

添加此行

...
annotationView?.clusteringIdentifier = "aaaa"
...
相关问题