目前,当我尝试在用户位置向地图添加注解时,注解没有显示出来。当我在用户位置旁边设置注释(使用相同的代码)时,它确实会显示出来。
代码:
let annotation = MKPointAnnotation()
annotation.coordinate = coordinate // set coordinate
annotation.title = "Title"
annotation.subtitle = "Subtitle"
mapView.addAnnotation(annotation)发布于 2019-10-16 20:21:00
这里也有同样的问题,它在iOS 12上工作得很好,现在所有靠近当前位置标记的注释都不再可见。关键信息可能在用户位置附近,需要显示。当你缩小地图时,这是最糟糕的,因为你不再知道是否有数据,因为所有的注释都在用户位置附近……
有没有一份文件表明苹果的这一变化?我没有找到任何..。提前感谢找到它的人。
如果没有关闭此行为的选项,我能想到的唯一解决方法就是自己手动添加当前位置注释...
发布于 2019-11-13 03:26:20
在MKMapViewDelegate上的回调-mapView:viewForAnnotation中,请确保您返回的MKAnnotationView将其displayPriority保留为默认值,即MKFeatureDisplayPriorityRequired,否则MapKit会将注释视图与用户位置进行集群。
发布于 2019-11-27 12:00:27
对于那些有问题的人,我有一个解决办法。我在我的生产应用程序中也遇到了问题,因为我只是将注释添加到地图中,而从不调用viewForAnnoation方法。我创建了一个示例项目并将其上传到Github,这样您就可以查看代码并了解我做了什么。简而言之,您需要创建一个子类NSObject并符合MKAnnotation协议的类。如果像我的项目一样使用MKLocalsearch,请传回MKMapItem对象并创建新类的新实例。您还需要创建一个类和子类MKMarkerAnnotationView。
    class CustomMKMarkerSubclass: MKMarkerAnnotationView {
    override var annotation: MKAnnotation? {
        willSet {
            if let _ = newValue as? MapLocation {
                displayPriority = MKFeatureDisplayPriority.required
                canShowCallout = true
            }
        }
    }
}有关更多详细信息,请查看下面的项目。
https://stackoverflow.com/questions/58155108
复制相似问题