我正在使用Google Maps SDK for iOS中的animateToBearing方法,以便我可以使用设备指南针旋转地图: https://developers.google.com/maps/documentation/ios/views#bearing_orientation
在继续调用此方法的同时,地图对常规缩放到缩放功能无响应。有什么方法可以让地图继续允许捏缩放,同时还可以动画到轴承?
我是这样实现的:
func locationManager(manager: CLLocationManager!, didUpdateHeading newHeading: CLHeading!) {
mapView.animateToBearing(newHeading.magneticHeading)
}
答案 0 :(得分:1)
在您要求位置管理员更新标题之前,请确保您对其进行过滤,以便在每次微小的移动时都不会更新。如果您这样做,Google地图几乎会一直在制作动画,并且在动画地图时不会对您的动作做出响应。
在Objective-C中,这是代码:
self.locationManager.headingFilter = 5;
你可以自己试验一下,但是我觉得把它改成大约1到5度会让它在保持手势的同时反应灵敏。
答案 1 :(得分:0)
所以我很抱歉以前误解了这个问题。我以为你也在使用animateToZoom。
<强>答案:强> 所以不完全确定它是否可能,因为它有点设计。移动相机时,例如对于地图上的不同点,逻辑上有一个手势停止该行为是有意义的,反之亦然:例如,如果我用手指握住相机的位置,触发显式动画仍应移动它。
但是,如果您在更改值时停用动画,可能会有更好的时间,但我不认为它会帮助太多,因为&#39;设置& #39;也会停止一个手势。但动画更积极地试图在其生命周期内阻止它(例如,超过250毫秒或默认值) 以下是实施。
希望这清楚而有帮助。
CATransaction.begin()
CATransaction.setDisableActions(true)
map.animateToBearing(value)
CATransaction.commit()
&#13;