尝试了许多方法后,我仍然没有找到一种好的且完全可靠的方法来防止通常的“地图”显示在我正在使用的自定义地图图块后面。最终,我希望我的应用程序有一个仅包含自定义地图的地图页面。
我真的在寻找一个纯 iOS 的解决方案,不需要任何 3rd 方软件,但它看起来很困难。
我已经尝试了 3 种方法:
数字 1,通过它的视图隐藏背景地图:
NSArray *views = [[[self.mapView subviews] objectAtIndex:0] subviews];
[[views objectAtIndex:0] setHidden:YES];
- 但是,这不适用于即将推出的某个新操作系统!整个画面一片空白。苹果开发者论坛也没有提供解决方案
数字 2,使用另一个空白覆盖(例如 MKCircle)来覆盖背景图。但是,当快速滚动或缩小时,这有效,有时覆盖会闪烁,您可以简要地看到后面的背景地图,因此并不理想。
第 3 号,这就是我这几天一直在做的事情,只是为了防止用户缩小。大多数记录在案的方法倾向于使用 regionDidChangeAnimated 或 regionWillChangeAnimated,但是这些方法似乎不会在捏合时突然停止地图缩小 - 它们会等到捏合动作完成后再生效,因此这意味着可以短暂查看背景地图。
所以现在我很难过,除非我当然错过了其他两种方法。
所以任何帮助将不胜感激!