首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MapKit - iOS 13 -如何在用户位置注释上显示引脚注释?

MapKit - iOS 13 -如何在用户位置注释上显示引脚注释?
EN

Stack Overflow用户
提问于 2019-09-29 20:15:02
回答 5查看 1.2K关注 0票数 6

目前,当我尝试在用户位置向地图添加注解时,注解没有显示出来。当我在用户位置旁边设置注释(使用相同的代码)时,它确实会显示出来。

代码:

代码语言:javascript
运行
复制
let annotation = MKPointAnnotation()
annotation.coordinate = coordinate // set coordinate
annotation.title = "Title"
annotation.subtitle = "Subtitle"
mapView.addAnnotation(annotation)
EN

回答 5

Stack Overflow用户

发布于 2019-10-16 20:21:00

这里也有同样的问题,它在iOS 12上工作得很好,现在所有靠近当前位置标记的注释都不再可见。关键信息可能在用户位置附近,需要显示。当你缩小地图时,这是最糟糕的,因为你不再知道是否有数据,因为所有的注释都在用户位置附近……

有没有一份文件表明苹果的这一变化?我没有找到任何..。提前感谢找到它的人。

如果没有关闭此行为的选项,我能想到的唯一解决方法就是自己手动添加当前位置注释...

票数 4
EN

Stack Overflow用户

发布于 2019-11-13 03:26:20

在MKMapViewDelegate上的回调-mapView:viewForAnnotation中,请确保您返回的MKAnnotationView将其displayPriority保留为默认值,即MKFeatureDisplayPriorityRequired,否则MapKit会将注释视图与用户位置进行集群。

票数 1
EN

Stack Overflow用户

发布于 2019-11-27 12:00:27

对于那些有问题的人,我有一个解决办法。我在我的生产应用程序中也遇到了问题,因为我只是将注释添加到地图中,而从不调用viewForAnnoation方法。我创建了一个示例项目并将其上传到Github,这样您就可以查看代码并了解我做了什么。简而言之,您需要创建一个子类NSObject并符合MKAnnotation协议的类。如果像我的项目一样使用MKLocalsearch,请传回MKMapItem对象并创建新类的新实例。您还需要创建一个类和子类MKMarkerAnnotationView。

代码语言:javascript
运行
复制
    class CustomMKMarkerSubclass: MKMarkerAnnotationView {
    override var annotation: MKAnnotation? {
        willSet {
            if let _ = newValue as? MapLocation {
                displayPriority = MKFeatureDisplayPriority.required
                canShowCallout = true
            }
        }
    }
}

有关更多详细信息,请查看下面的项目。

MapKit Demo Project

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58155108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档