ios - 移动 map View 后显示标注

标签 ios mkmapview mkannotationview

我在 map View 上有几个注释。 选择其中之一(启用标注)后,我希望 map 以它为中心。 我在 didSelectAnnotationView 中调用 [mapView setCenterCooperative:coefficientanimated:YES]; 来实现这一点。

它有效,但并不总是 - 基本上,当没有足够的空间来显示标注时, map 会移动并选择注释,但标注不会显示(无论移动是否有动画) 。 如果我自己不使用 setCenterCooperative 移动 map ,则在选择注释后, map 会自动移动(稍微移动)以显示标注,并且每次都能正常工作。

有什么想法可以让它在我的案例中发挥作用吗? 总而言之,我希望将 map 置于所选注释的中心并显示标注。

最佳答案

通过在 didSelectAnnotationView 中稍微延迟调用 setCenter 来解决这个问题:

dispatch_time_t dt = dispatch_time(DISPATCH_TIME_NOW, 0.2 * NSEC_PER_SEC);
dispatch_after(dt, dispatch_get_main_queue(), ^(void)
{
    [mapView setCenterCoordinate:view.annotation.coordinate animated:YES];
});

关于ios - 移动 map View 后显示标注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047596/

相关文章:

iphone - 关于谷歌地图 iOS

iphone - MKMapView : setRegion doesn't work !

ios - MKMapView iOS 自定义用户位置注释不显示/更新位置

ios - NEHotspotHelperCommand 命令不调用 PresentUI 或进行身份验证

ios - 如何在 xcode 中为 iOS 应用程序制作背景视频?

ios - 在 iOS 5 的 map 上放置 CLPlacemark

ios - 为什么不调用 ViewForAnnotation?

ios - 如何从 mapView 中删除我的自定义注释?

swift - MKMapView 不是在 Swift 中缩小 map 时的聚类注释

ios - 使用 Swift 和 xCode9 beta4 创建静态库