我有一个视图在MKMapView上调用visibleMapRect两次,两次都具有相同的值。第一次按预期加载时(地图会更改visibleMapRect,尽管这是预期的)。第二次我重复使用第一次使用的visibleMapRect,结果使用了不同的原点。我有什么特别的事情需要做吗?我希望使用相同的visibleMapRect得到相同的结果。
设置visibleMapRect
实际上与设置region
相同,region
的文档中写道:
设置此属性时,地图可能会调整新的区域值,使其精确地适应地图的可见区域。这是正常的,这样做是为了确保此属性中的值始终反映贴图的可见部分。但是,这确实意味着,如果您在设置该属性之后立即获取该属性的值,则返回的值可能与您设置的值不匹配。(您可以使用regionThatFits:method来确定地图实际设置的区域。)
因此,如果将visibleMapRect
设置为给定原点,然后检查visibleMapRect
的地图视图值,则可以获得不同的原点。
这与两次设置map rect无关,但从您的简短描述来看,这是我的最佳猜测。如果这没有帮助,请详细说明。