MapView viewForAnnotation以圆圈显示白色图钉(默认)

时间:2019-03-28 00:23:21

标签: swift mkmapview

当我未在MKMapView上设置委托但添加注释时,其图像如下:

Default view

但是,如果我这样返回MKAnnotationView

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    if annotation.isKind(of: MKUserLocation.self) {
        return nil
    }

    guard annotation is MKPointAnnotation else { return nil }

    let identifier = "Annotation"
    var annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: identifier)

    if annotationView == nil {
        annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: identifier)
        annotationView!.collisionMode = .circle
        annotationView!.canShowCallout = true
    } else {
        annotationView!.annotation = annotation
    }

    return annotationView
}

然后出现的图标看起来像是垂直的图钉:

customised

我知道我可以在MKAnnotationView上使用自定义图像。但是,我想要默认的,除了我希望它看起来像第一个而不是第二个,但我也想自定义标注。我该如何实现?

1 个答案:

答案 0 :(得分:1)

第一个图像属于MKMarkerAnnotationView。因此,要求它,而不是MKPinAnnotationView。