#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-кода и посмотрите, какие чудеса он может для вас сотворить.