我有 MKMapView,它从底部被另一个 View 覆盖。假设 map 的高度为 250,但从底部开始有 100 被其他 View 覆盖。
现在,如果我使用 setRegion 将 map 居中,它会像整个 map 可见一样将 map 居中,但我需要将它居中到真正可见的区域,也就是剩余的 150 高度。
你可以说,然后将 map 的高度降低到 150 这样它就不会被覆盖,但我需要通过设计来覆盖它,因为覆盖 View 没有完全宽度到边框(侧面有间隙) 因此 map 在覆盖 View 周围可见。
那么,如何让 map 居中显示真实可见区域的高度呢?
现在我正在使用这个:
CLLocationCoordinate2D loc = CLLocationCoordinate2DMake(lat, long);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance (loc, 200, 200);
[_map setRegion:region animated:YES];
最佳答案
尝试使用:
[theMapView setVisibleMapRect:[theMapView mapRectThatFits:theMapRect]
animated:YES];
或者,如果您想进一步调整屏幕偏移量,您可以使用:
[theMapView setVisibleMapRect:[theMapView mapRectThatFits:theMapRect]
edgePadding:UIEdgeInsetsMake(50, 50, 50, 50)
animated:YES];
关于ios - 当部分 map 被覆盖时居中 MKMapView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38723596/