У меня есть класс MapItem, который реализует протокол MKAnnotation.Я использую MKMarkerAnnotationView для отображения аннотаций на карте.
В соответствии с документацией, свойство glyphText MKMarkerAnnotationView, если оно установлено равным nil, создает изображение булавки для маркера.
При кластеризации аннотации, Мне нужно такое же изображение булавки для маркера. Но система по умолчанию устанавливает для этого числа аннотаций, кластеризованных в этом кластере.
Я даже пытался установить это свойство равным nil, но это не дает никакого эффекта.
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if let item = annotation as? MapItem {
let annotationView = mapView.dequeueReusableAnnotationView(withIdentifier: "mapItem") as? MKMarkerAnnotationView
?? MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "mapItem")
annotationView.annotation = item
annotationView.glyphText = nil
annotationView.clusteringIdentifier = "mapItemClustered"
return annotationView
} else if let cluster = annotation as? MKClusterAnnotation {
let clusterView = mapView.dequeueReusableAnnotationView(withIdentifier: "clusterView") as? MKMarkerAnnotationView
?? MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: "clusterView")
clusterView.annotation = cluster
clusterView.glyphText = nil
return clusterView
} else {
return nil
}
}