Iphone MKMapView区域将更改动画缩放或平移?

Iphone MKMapView区域将更改动画缩放或平移?,iphone,mkmapview,Iphone,Mkmapview,我需要知道区域是否会因为缩放或平移而发生变化 通过跟踪旧区域的跨度并与新区域进行比较,查看是否发生缩放,我能够为regionDidChangeAnimated找出这一点 regionWillChangeAnimated的问题是它在区域更改之前被调用,因此我无法知道区域跨度是多少 也许还有别的办法可以解决这个问题吗 谢谢。我相信您需要在regionWillChangeAnimated调用中获取当前区域跨度和中心数据,并在到达regionDidChangeAnimated调用后进行比较,但不要在其中

我需要知道区域是否会因为缩放或平移而发生变化

通过跟踪旧区域的跨度并与新区域进行比较,查看是否发生缩放,我能够为regionDidChangeAnimated找出这一点

regionWillChangeAnimated的问题是它在区域更改之前被调用,因此我无法知道区域跨度是多少

也许还有别的办法可以解决这个问题吗


谢谢。

我相信您需要在regionWillChangeAnimated调用中获取当前区域跨度和中心数据,并在到达regionDidChangeAnimated调用后进行比较,但不要在其中执行太多逻辑操作,否则会导致用户交互不稳定。

您必须将地图的当前跨度与中的上一个跨度进行比较
mapView:regionWillChangeAnimated:
,在缩放或滚动期间会多次调用它


您可以使用以下代码:
MKZoomScale currentZoomScale=(CGFloat)(map.bounds.size.width/map.visibleMapRect.size.width)

我没有评论的声誉配额,但还是觉得有必要发出警告:不能仅使用地图的区域范围来确定是否发生了缩放。对于恒定的缩放级别,地图的水平比例随纬度而变化。

是的,问题是我需要知道地图缩放时是否发生缩放,而不仅仅是在地图缩放后,所以我不能依赖regionDidChangeAnimated。