MKMapKit隐藏Apple地图

时间:2014-03-20 06:37:48

标签: ios mkmapview mapkit mkoverlay apple-maps

需要苹果MapKit的帮助。 我使用Tile Overlay的OSM地图,它工作得非常好。 但是我想解决一个小问题。我想隐藏苹果地图,因为它们在OSM地图下渲染,当加载OSM地图时,Apple地图是可见的,看起来很奇怪。

此外,设备正在渲染两张不太好的地图......你知道。

在指南中,我以前添加的OSM地图就是这段代码:

if ( [map.subviews count] && [((UIView *)[map.subviews objectAtIndex:0]).subviews count] )
    ((UIView *)[((UIView *)[map.subviews objectAtIndex:0]).subviews objectAtIndex:0]).alpha = 0;

首先,这段代码对我不起作用。无论如何将alpha设置为nil并不等于不渲染。但如果无法停止渲染Apple地图,我可以使用alpha。

所以需要一些帮助,需要隐藏苹果地图。

非常感谢你的时间。

更新

我试着记录MKMapKit结构。 这是:

- MKMapView
- - UIView
- - - MKBasicMapView
- - - - _MKMapLayerHostingView
- - - MKScrollContainerView
- - - - MKOverlayContainerView
- - - MKNewAnnotationContainerView
- - MKAttributionLabel

然后我尝试了这件事:

UIView * ll = [[[[[[map subviews] objectAtIndex: 0] subviews] objectAtIndex: 0] subviews] objectAtIndex: 0];
[ll removeFromSuperview];

它有效,但它隐藏了地图与叠加层。不知道如何只隐藏地图...... 我们看到有覆盖层,为什么地狱......哦......任何帮助请。 =(

1 个答案:

答案 0 :(得分:0)

在iOS 7及更高版本上,您可以查看http://mapbox.com/mbxmapkit。但无论如何,你不应该混淆MKMapView子视图层次结构。