我一点也不了解 mapRectThatFits。这是一个简单的代码行:
MKMapRect zoomRectNorm = [mapView mapRectThatFits:zoomRect];
// BREAKPOINT HERE
现在让我们看看调试器。
打印缩放矩形:
(lldb) p zoomRect
(MKMapRect) $1 = {
(MKMapPoint) origin = {
(double) x = 4.2997e+07
(double) y = 9.36865e+07
}
(MKMapSize) size = {
(double) width = 26493.1
(double) height = 148685
}
}
打印 zoomRectNorm:
(lldb) p zoomRectNorm
(MKMapRect) $2 = {
(MKMapPoint) origin = {
(double) x = 4.29283e+07
(double) y = 9.36379e+07
}
(MKMapSize) size = {
(double) width = 163840
(double) height = 245760
}
}
所以它把纵横比调整为 2:3 但它没有保持宽度、高度或原点!?
根据文档,它应该返回:
仍以地图同一点为中心的地图矩形,但其宽度和高度已调整为适合地图视图的框架。
这是怎么回事?我希望它保持原点(如文档中所述)和至少一个宽度/高度?