ios - 当部分 map 被覆盖时居中 MKMapView

标签 ios objective-c mkmapview

我有 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/

相关文章:

objective-c - 如何在 IF 子句中获取现有变量的值?

ios - 是否可以加快 MKMapView 中注释的删除速度?

ios - MKMapView 是否支持 "little man"街景?

iphone - 自定义 MKAnnotationView 标注

javascript - orientationEvent.gamma 取 +180 到 -180 度

ios - 通过短信推荐 friend 时出现白屏

ios - 默认情况下在 collectionView 中滚动时选择单元格

ios - 如何在现有项目中使用尺寸类自适应布局

objective-c - 使用 Storyboard segue 显示 ABPeoplePickerNavigationController

ios - PayPal 支付卡住 "processing"