Нужна помощь с Apple MapKit. Я использую карты OSM с Tile Overlay, и это работает очень хорошо. Но есть небольшая проблема, которую я хочу исправить. Я хочу скрыть карты Apple, потому что они отображаются под картой 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;
Во-первых, этот код у меня не работает. И в любом случае установка альфа на ноль не равнозначна отсутствию рендеринга. Но если нет возможности остановить рендеринг карт Apple, я могу использовать альфу.
Так что нужна помощь с этим материалом, нужно скрыть карту яблока.
Большое спасибо за ваше время.
Обновлять:
Я попытался зарегистрировать структуру MKMapKit. Вот:
- MKMapView
- - UIView
- - - MKBasicMapView
- - - - _MKMapLayerHostingView
- - - MKScrollContainerView
- - - - MKOverlayContainerView
- - - MKNewAnnotationContainerView
- - MKAttributionLabel
Затем я попробовал эту вещь:
UIView * ll = [[[[[[map subviews] objectAtIndex: 0] subviews] objectAtIndex: 0] subviews] objectAtIndex: 0];
[ll removeFromSuperview];
Это сработало, но скрывает карту с наложениями. Понятия не имею, как скрыть только карту... Как мы видим, есть слои для оверлеев, какого черта... о... помогите, пожалуйста. знак равно