Требования к операционной системе: iOS 5.0 и выше.
Мобильное устройство: iPad.
В данном примере выполняются операции с источником данных карты Apple. После запуска примера выполняются следующие операции:
обновляется источник данных карты Apple;
устанавливается ключ метрики, определяющий цвет пузырьков карты, и возвращается её наименование;
возвращается справочник ключей измерения метрик;
возвращается ключ измерения метрик;
устанавливается ключ метрики, которой не соответствует таблица данных, и возвращается её наименование.
В базовый пример «Отображение экспресс-отчёта» необходимо добавить следующий файл:
CustomMapDataBubbleViewController.h/.mm. Класс, реализующий протокол для работы с источником данных карты Apple.
Для выполнения примера необходимо создать класс, реализующий протокол для работы с источником данных карты Apple, а также добавить заголовочный файл класса в исходный код класса ViewController (см. раздел «Отображение экспресс-отчёта»). Далее необходимо разместить в теле метода executeExample класса ViewController следующий код:
// Получаем контроллер для работы с экспресс-отчётом
MAExpressAnalysisReportViewController *contr = (MAExpressAnalysisReportViewController *)m_controller;
// Получаем делегат для работы с экспресс-отчётом
EAReportDelegateImpl *delegate = [contr delegate];
// Получаем источник данных карты
MapDataViewDatasource *dataSource = (MapDataViewDatasource *)[delegate mapDatasource];
// Создаём контроллер для работы с представлением данных в виде карты Apple
CustomMapDataBubbleViewController *bubbleViewController = [[CustomMapDataBubbleViewController alloc] initWithDatasource: dataSource];
// Обновляем данные источника
[bubbleViewController refresh];
// Устанавливаем метрику, определяющую цвет элементов карты
[bubbleViewController setMetric: [NSNumber numberWithLongLong: [dataSource colorMetricKey]]];
NSLog(@"Наименование метрики, определяющей цвет пузырьков карты: %@", [bubbleViewController metricsName]);
// Получаем справочник ключей измерения метрик
NSDictionary *metricDimensions = [bubbleViewController metricDimensions];
for (int i = 0; i < [metricDimensions count]; i++) {
NSNumber *key = [[metricDimensions allKeys] objectAtIndex: i];
// Устанавливаем ключ измерения метрик
[bubbleViewController setMetricDimension: key];
}
NSLog(@"Ключ измерения метрик: %d", [[bubbleViewController metricDimension] intValue]);
// Устанавливаем метрику, которой не соответствует таблица данных
[bubbleViewController setMetricNoPivot: [NSNumber numberWithLongLong: [dataSource heightMetricKey]]];
NSLog(@"Наименование метрики, определяющей высоту областей слоя карты: %@", [bubbleViewController metricNoPivotName]);
В результате выполнения примера в консоли среды разработки было выведено уведомление об обновлении источника данных карты Apple, наименование метрики, определяющей цвет пузырьков карты, ключ измерения метрик, а также наименование метрики, которой не соответствует таблица данных:
Данные обновлены
Наименование метрики, определяющей цвет пузырьков карты: GDP per capita, PPP (constant 2005 international $)
Ключ измерения метрик: 1557
Наименование метрики, определяющей высоту областей слоя карты: GDP per capita, PPP (constant 2005 international $)
См. также: