如何使用 Swift 显示自定义注释,即使它位于用户的当前位置
Posted
技术标签:
【中文标题】如何使用 Swift 显示自定义注释,即使它位于用户的当前位置【英文标题】:How to show custom annotation even if it's on the user's current location with Swift 【发布时间】:2020-01-24 11:30:41 【问题描述】:我拖了 UIViewControllers 第一个显示带有注释和用户当前位置的 MKMapKitView,在第二个 viewController 中我将构建将显示到第一个 viewController 的注释。
我发现如果用户的位置和注解相同,mapView 只会显示用户的当前位置。
这是我创建注释的代码:
func addAnnotiation(for locationCoordinate: CLLocationCoordinate2D)
let annotationPoint = MKPointAnnotation()
annotationPoint.coordinate = locationCoordinate
mapView.addAnnotation(annotationPoint)
我的MKMapViewDelegate
方法:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView?
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
我该如何解决这个问题,如果注释和用户的位置相同,它也会显示注释,而不仅仅是用户的当前位置?
【问题讨论】:
如果我正在阅读此内容,您想要添加的注释是否与用户当前位置的坐标相同? 是的,注释图钉“可能”与用户的当前位置相同,如果是这样……它应该显示在用户当前位置的上方。 看看这个question 【参考方案1】:问题很简单。我不知何故忘记了mapView.delegate = self
。现在一切正常!
【讨论】:
以上是关于如何使用 Swift 显示自定义注释,即使它位于用户的当前位置的主要内容,如果未能解决你的问题,请参考以下文章