Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере разрешается скрывать элементы диаграммы, занимаемая площадь которых превышает указанное значение.
Для выполнения примера необходимо взамен содержимого метода viewDidAppear: класса ViewController (см. раздел «Создание карты с временной шкалой») разместить следующий код:
(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear: animated];
[self mapChartDidAppear: m_view];
[self runExample];
}
-(void)runExample {
// Разрешаем скрывать элементы карты, занимаемая площадь которых превышает допустимое значение
[m_view setOptimizedOut: YES];
/* Устанавливаем минимальное отношение площади элементов карты
к площади области ее построения,
при котором следует скрывать данные элементы */
[m_view setOptimizeFactor: 0.03];
// Обновляем карту
[self refreshMap];
}
// Обновляет карту
-(void)refreshMap {
[[m_view timeAxis] setNeedsLayout];
if ([m_view optimizedOut]) {
MapLegend *legend = [m_view legend];
[legend setVisibility: [self checkOnVisibility: CGSizeMake(legend.width, legend.height)]];
MapLabel *caption = [m_view caption];
[caption setVisibility: [self checkOnVisibility: CGSizeMake(caption.maxWidth, caption.font.lineHeight)]];
MapTimeAxis *timeAxis = [m_view timeAxis];
[timeAxis setVisible: [self checkOnVisibility: timeAxis.frame.size]];
}
}
// Проверяет, требуется ли отобразить указанный элемент с указанными размерами
-(BOOL) checkOnVisibility: (CGSize) size {
float mapSquare = m_view.frame.size.width * m_view.frame.size.height;
float objectSquare = size.width * size.height;
NSLog(@"Коэффициент занимаемого пространства: %f", (float)(objectSquare / mapSquare));
return ((float)(objectSquare / mapSquare) <= [m_view optimizeFactor]);
}
В результате выполнения примера заголовок, легенда и временная ось карты были скрыты:

В консоли среды разработки были выведены коэффициенты занимаемого элементами карты пространства по отношению ко всей карте:
Коэффициент занимаемого пространства: 0.091186
Коэффициент занимаемого пространства: 0.036551
Коэффициент занимаемого пространства: 0.348596
См. также: