我在mapview上有几个注释。
选择其中一个(启用标注)后,我希望地图以中心为中心。
我在[mapView setCenterCoordinate:coordinate animated:YES];
中致电didSelectAnnotationView
来实现这一目标。
它的工作原理但并非总是如此 - 基本上当没有足够的空间来显示标注时,地图会移动并选择注释,但不会显示标注(如果动画是否动画则无关紧要) 。
如果我不使用setCenterCoordinate
自行移动地图,则在选择注释后,地图会自动移动(稍微)以显示标注,并且每次都有效。
任何想法如何让它在我的情况下工作? 总而言之,我希望将地图置于所选注释的中心并显示标注。
答案 0 :(得分:4)
在setCenter
:
didSelectAnnotationView
解决了问题
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];
});