Работа с географическими данными источника данных карты

Требования к операционной системе: iOS 5.0 и выше.

Мобильное устройство: iPad.

Описание

В данном примере описывается работа с географическими данными источника данных карты. После запуска примера выполняются следующие операции:

Исходный код

Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:

// Создаем объект-основу для построения таблиц с данными
SPPLPivot pivot = PPLPivot::pivot(m_olapReport);
// Создаем источник данных карты
MapDataViewDatasource *mapDatasource = [[MapDataViewDatasource alloc] initWithPivot:pivot withFullTopoSelection:YES];
// Производим настройку измерений в источнике данных карты
[mapDatasource performSelector:@selector(dimensionsSetup) withObject:nil];
// Получаем массив фиксированных измерений источника данных карты
SNArray fixed = [mapDatasource fixedDimensions];
// Получаем первое измерение в массиве фиксированных измерений
SPPLDimension dimensionFromFixed = fixed->objectAtIndex<PPLDimension>(0);
// Выводим в консоль среды разработки наименование полученного измерения
NSLog(@"Фиксированное измерение в источнике данных карты: %@", dimensionFromFixed->name()->nsString());
// Задаем географические данные для ряда данных с идентификатором «RU»
CLLocationCoordinate2D coordinate;
coordinate.latitude = 66;
coordinate.longitude = 94;
[mapDatasource addGeographicSeriesWithID:@"RU" title:@"РФ" coordinate:coordinate];
// Получаем массив идентификаторов рядов данных, для которых заданы географические данные
NSArray *coordinatesList = [mapDatasource seriesWithGeographicDataIDList];
// Получаем первый идентификатор ряда данных с географическими данными
NSString *id1 = [coordinatesList objectAtIndex: 0];
// Получаем заголовок ряда данных по его идентификатору
NSString *title =[mapDatasource titleWithID: id1];
// Получаем и выводим в консоль среды разработки географические координаты ряда данных
CLLocationCoordinate2D coordinateFromID = [mapDatasource coordinateWithID: id1];
NSLog(@"Ряд данных «%@»; заголовок: «%@»; широта: %f; долгота: %f", id1, title, coordinateFromID.latitude, coordinateFromID.longitude);
// Получаем и выводим в консоль среды разработки ключ измерения метрик
int64 metricsKey = [mapDatasource currentMetricsDimensionKey];
NSLog(@"Ключ измерения метрик: %d",metricsKey);
// Получаем справочник наименований измерений метрик
NSDictionary *metricsDimensionsKeys = [mapDatasource metricsDimensionsKeys];
// Выводим в консоль среды разработки наименование первого измерения в справочнике
NSLog(@"Первое измерение в справочнике наименований измерений метрик: %@",[metricsDimensionsKeys objectForKey:[[metricsDimensionsKeys allKeys] objectAtIndex:0]]);
// Получаем справочник наименований элементов измерения метрик
NSDictionary *metricsDimensionElementsKeys = [mapDatasource metricsDimensionElementsKeys];
// Выводим в консоль среды разработки наименование первого элемента в справочнике
NSLog(@"Первый элемент в справочнике наименований элементов измерения метрик: %@",[metricsDimensionElementsKeys objectForKey:[[metricsDimensionElementsKeys allKeys] objectAtIndex:0]]);

В результате выполнения примера в консоли среды разработки будет выведена информация об источнике данных карты, а также географические данные для одного из рядов данных источника:

Фиксированное измерение в источнике данных карты: Indicators

Ряд данных «RU»; заголовок: «РФ»; широта: 66.000000; долгота: 94.000000

Ключ измерения метрик: 1557

Первое измерение в справочнике наименований измерений метрик: Indicators

Первый элемент в справочнике наименований элементов измерений метрик: Monetary holdings (liabilities)

См. также:

Примеры использования компонентов