少しでも mapRectThatFits がわかりません。簡単なコード行を次に示します。
MKMapRect zoomRectNorm = [mapView mapRectThatFits:zoomRect];
// BREAKPOINT HERE
次に、デバッガーを見てみましょう。
zoomRect を印刷:
(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に調整したのに、幅も高さも原点も変わらない!?
ドキュメントによると、次を返す必要があります。
マップの同じポイントを中心に配置されているが、幅と高さがマップ ビューのフレームに収まるように調整されているマップの四角形。
どうしたんだ?原点(ドキュメントに記載されているように)と幅/高さの少なくとも1つを維持することを期待していますか?