ios - 如何使用 Swift 显示自定义注释,即使它位于用户当前位置

标签 ios swift mapkit mkmapview mapkitannotation

我已经拖了两个 UIViewController,第一个显示带有注释和用户当前位置的 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
  }

如何解决这个问题,以便如果注释和用户的位置相同,它也会显示注释而不仅仅是用户的当前位置?

最佳答案

问题很简单。我不知何故忘记了mapView.delegate = self。现在一切都工作得很好!

关于ios - 如何使用 Swift 显示自定义注释,即使它位于用户当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59895584/

相关文章:

ios - RealmSwift - 开始/提交写入

ios - rangeOfUnit 在一个月中的几周返回 `NSNotFound`(iOS7 错误)

ios - 根据 contentSize 调整自定义 UITableViewCell 中的 UITextView 大小

iphone - 从自定义单元格加载时如何调整单元格表格的高度?

iOS/swift : Receive callbacks from data streaming service without push notifications while app is in background

ios - 使用相同的全局变量实例化多个 View Controller

iphone - 如何制作具有快速显示的大图像的 UIScrollView(如 Photos.app)?

ios - 使用 map 上的 PINS 时,由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序

ios - json 注释未显示在 mapview 上

iPhone MapKit 是否可以从一系列触摸中映射坐标?