【发布时间】:2014-10-24 03:46:14
【问题描述】:
我有一个MKMapView,它使用MKPolygon 标记一个特定区域。我希望地图具有适合 mapView / 屏幕的最小缩放系数,意味着完全可见。
为了实现这一点,我尝试了以下方法
MKPolygon *overlay;
[[self mapView] setVisibleMapRect:[overlay boundingMapRect] edgePadding:UIEdgeInsetsMake(16, 16, 16, 16) animated:YES];
不幸的是,我的 mapView 没有将整个矩形设置为可见。矩形填充地图而不是拟合。
这是我需要的与我得到的:
与
我怎样才能实现我的目标?
【问题讨论】:
-
那不可能是实际代码(overlay 未声明为指针,未初始化,boundingRect 应该是 boundingMapRect 等)。在实际代码中,您确定叠加层指向正确的吗?在此之后是否还有另一个 setRegion 或 setVisibleMapRect 调用? MKMapView 框架是设置在屏幕上还是超出了屏幕范围?看起来地图高度是正确的,但宽度可能太宽了。
-
@Anna:这是 mapView 上唯一的叠加层,只有一个
-setVisibleMapRect:调用。我在-viewDidLoad方法中只写了几行代码来看看它是如何工作的。我用boundingMapRect和丢失的指针更正了错字 -
谢谢@Anna,您给了我正确的想法,请参阅下面的答案。我对
MKMapView的经验还不是很多,所以我没有看到它=)
标签: ios8 mkmapview mapkit overlay region