我有一个带有MapView的SwiftUI应用。在MapViewCoordinator类中,我创建了自定义注释。Annotation
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?
{
let annotationView = MKAnnotationView(annotation: annotation, reuseIdentifier: "customAnnotation")
annotationView.image = UIImage(systemName: "mappin.circle")
...
在代码后面,一个SubView被添加到每个AnnotationView。这些是带有位置名称的标签。我只想从地图的特定缩放/跨度显示这些标签。如果地图缩小得太远,标签将重叠。那我不想给他们看。
我可以轻松获得所需的值:
let lati = mapView.region.span.latitudeDelta
不幸的是,当跨度改变时,并不总是调用用于创建注释的方法。这只会偶尔发生一次。
在方法mapViewDidChangeVisibleRegion
中,似乎我只能访问MKAnnotation,而不能访问MKAnnotationView。
我在做什么错了?