我正在创建一个利用iOS Mapkit框架的应用程序,还有一些代码可以在地图上创建自定义注释。
下载完成后,下载并添加我添加的图钉(非常标准的做法)。
我还会显示用户的当前位置,该位置在首次加载时会被聚焦。
然而,我遇到了问题,我不确定是什么原因造成的。当我的地图加载注释时,一切都很好,并按预期工作。然而,由于地图引脚显示我得到一个奇怪的问题,焦点是地图引脚,当我开始在地图上缩放时,其他引脚将被聚焦。
这个问题意味着如果我想在地图上直接缩放我可以到某一点,但奇怪的是我跳到了其中一个可能在另一个大陆的引脚。
我不确定是否可以从引脚移除焦点(这是我想要的)或者是否有人遇到类似的问题而且知道如何修复。
很抱歉这不是很多信息,但我不知道错误在哪里。
编辑更多信息
经过几个小时试图找到来源后,它出现了....
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
...当新的注释进入视野时。我无法找到一种方法来阻止注释抓住变焦。
答案 0 :(得分:0)
您的问题是针对引脚启用了userinteraction。 尝试禁用viewforAnnotation方法中引脚的用户交互
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
if (annotation.isKind(of: AnnotationModal.self)) {
let anView = MKAnnotationView(annotation: annotation, reuseIdentifier: reuseId)
anView.isDraggable = false
anView.isEnabled = false
anView.isUserInteractionEnabled = false
}
}