当用户从表中选择项目时,我将地图的中心更改为所选项目的位置,并以编程方式选择匹配的注释。这会导致注释调出在地图上打开。
mapView.centerCoordinate = itemCoordinate
mapView.selectAnnotation(itemAnnotation, animated: true)
我的问题是标注是在地图上的前一个地方打开的,好像首次打开标注然后地图移动(不移动标注)
任何解决方案?
答案 0 :(得分:2)
您可以尝试在这样的小延迟后选择注释:
let dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC)))
dispatch_after(dispatchTime, dispatch_get_main_queue()) { () -> Void in
mapView.selectAnnotation(itemAnnotation, animated: true)
}
或选择没有动画的注释也应该起作用:
mapView.selectAnnotation(itemAnnotation, animated: false)