【问题标题】:MapKit iOS Pins Grabbing FocusMapKit iOS Pins 抓住焦点
【发布时间】:2012-06-18 17:40:35
【问题描述】:

我正在创建一个利用 iOS Mapkit 框架和一些代码在地图上创建自定义注释的应用程序。

我添加的引脚会在下载完成后下载并添加(我确定这是非常标准的做法)。

我还显示了用户的当前位置,在第一次加载时,它会成为焦点。

但是我遇到了问题,我不确定是什么原因造成的。当我的地图加载注释时,一切都很好并且按预期工作。然而,随着地图图钉显示我遇到了一个奇怪的问题,焦点被赋予了地图图钉,当我开始在地图上缩放时,其他图钉被聚焦。

这个问题意味着如果我想在地图上直接缩小到某个点,但奇怪的是我跳到了可能在另一个大陆的图钉之一。

我不确定是否可以从引脚上移除焦点(这是我想要的),或者是否有人遇到过类似的问题并且知道如何解决。

对不起,这不是太多的信息,但我不知道错误在哪里。

编辑更多信息

它出现在几个小时后试图找到它归根结底的来源......

- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views

... 当新的注释出现时。但是,我找不到阻止注释抓取缩放的方法。

【问题讨论】:

  • didAddAnnotationViews 中有什么代码?
  • 完全是空的。我从中删除所有内容以检查这是否是问题所在。这并没有什么不同。我确实在其中添加了一个 NSLOG,似乎同时这被称为跳转发生,但这并不意味着它确实是导致问题的原因。

标签: iphone ios mapkit mkannotation


【解决方案1】:

您的问题是为 pin 启用了用户交互。 尝试在 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

}

}

【讨论】:

    猜你喜欢
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多