Loï*_*iol 3 cocoa-touch mkmapview ios ios7
在iOS 7中,用户可以旋转MKMapView(就像在地图应用程序中一样).
我有叠加并确定是否可以显示它们,我需要计算缩放比例.在iOS 6中,我曾经做过:
MKZoomScale zoomScale = self.mapView.bounds.size.width / self.mapView.visibleMapRect.size.width;
Run Code Online (Sandbox Code Playgroud)
问题是当用户旋转地图时,此计算的结果会发生变化,其中实际缩放比例应相同(叠加切片的大小相同,只是旋转).
所以我的问题如下:如何计算用户旋转地图时不会改变的真实缩放比例?如果我有旋转角度,我可以纠正"偏见"但我找不到MKMapView中的任何属性来获得这个角度.
解决方法是禁用地图旋转,但我想保留此功能.
提前致谢.
您可以使用新MKMapCamera altitude属性,而不是使用计算缩放比例.它不会随着地图旋转而改变,我认为即使用户改变地图的俯仰角也会保持不变.
MKMapCamera *camera = self.mapView.camera;
CLLocationDistance altitude = camera.altitude;
if (altitude < 3000 && altitude > 1000) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
如果你仍然需要知道旋转角度,你也可以从地图相机中获得:
CLLocationDirection mapAngle = camera.heading;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3163 次 |
| 最近记录: |