MKMapView显示额外的缩放区域。怎么样?

时间:2013-10-27 05:37:37

标签: ios mapkit

我需要在MKMapView上显示非常小的区域(30x30米)。设置适当的区域或visibleMapRect不起作用。 MapView显示了更大的区域。

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([centerLocation coordinate], 30, 30); 
[mapView setRegion:region];

似乎在更新地图之前,MapView使用regionThatFits方法修正了超小区域。

手动缩放允许显示此类区域。

2 个答案:

答案 0 :(得分:1)

MapKit并非真正适用于如此高变焦的室内用途。您可能希望查看已用于室内应用的替代方案,例如开源MapBox iOS SDK。特别是iOS 7的iBeacons技术对于室内三角测量和比GPS更高的精度可能是有用的,GPS既不是用于室内也不是高变焦使用。

答案 1 :(得分:0)

根据Apple文档:

  

设置新区域时,地图可能会调整区域中的值   参数,以便它精确地适合地图的可见区域。这个   是正常的,并确保region属性中的值   始终反映地图的可见部分。但是,它确实意味着   如果你在调用之后立即获得该属性的值   方法,返回的值可能与您设置的值不匹配。 (您可以   使用regionThatFits:方法确定将要的区域   实际上是由地图设定的。)

因此,当您应用距离时,它会创建最适合您请求的区域。它与您要求的内容不完全相同。

此外,30 * 30米的缩放级别非常高,可能不受支持。希望它会有所帮助。