【发布时间】:2011-11-19 02:41:22
【问题描述】:
在 iOS 5 下,MKMapView 返回无效区域 -- latitude + latitudeDelta/2 超过 100,不应超过 90。
有人见过这个问题吗?
复制步骤:
- 创建一个 MKMapView
- 在 regionDidChangeAnimated 委托方法中记录 mapView.region
- 尽可能缩小地图并将其拖动到右侧,使视图滚动到顶部/左侧
预期结果: 在 iOS 4 中,mapView.region 是合理的:
lat=2.202047 lon=-67.500000 latDelta=165.698164 lonDelta=225.000000
然而,在 iOS 5 中,mapView.region 超出了范围:
lat=17.978733 lon=-67.500000 latDelta=165.698164 lonDelta=225.000000
纬度应在 -90 到 90 范围内。然而,在 iOS 5 中,lat + latDelta/2 是 100.827815。这是不可能的。虽然我可以将值限制在 +/- 90,但偏移差异会导致我们的叠加层出现问题。
回归: 在 iOS 4.3 中不会发生。在 iOS 5 中经常发生。地图视图的屏幕转储看起来相同,即使中心纬度偏离 15 度。
注意事项: 可以下载项目文件和屏幕转储here。
【问题讨论】: