Заголовок аннотации в MapKit больше не виден

#annotations #mapkit #point-of-interest

Вопрос:

В понедельник я загрузил приложение в AppStore. Все работало нормально. С четверга Заголовок добавленной аннотации больше не виден.

В приложении есть множество различных точек интереса. У каждого есть название и координаты. PoI отображаются, и я могу отфильтровать их по названию. Но названия не видно.

Предварительный просмотр текущего представления

Предварительный просмотр в понедельник

Комментарии:

1. Пожалуйста, покажите нам какой-нибудь соответствующий код

2. func createAnnotations(locations: [[String : Any]]) { for location in locations { let annotations = MKPointAnnotation() annotations.title = location["title"] as? String annotations.coordinate = CLLocationCoordinate2D(latitude: location["latitude"] as! CLLocationDegrees, longitude: location["longitude"] as! CLLocationDegrees) myMapView.addAnnotation(annotations) } }

Ответ №1:

Я просто исправляю это, добавляя следующую функцию. К сожалению, он показывает заголовок только путем ввода pin-кода.

 func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
    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!.canShowCallout = true
        
        
    } else {
        annotationView!.annotation = annotation
    }

    return annotationView
}
 

Комментарии:

1. используйте MKMarkerAnnotationView вместо pin-кода и посмотрите, какие чудеса он может для вас сотворить.