IVZMapChartLayer.VisualsOffset

Синтаксис Fore

VisualsOffset: Double;

Синтаксис Fore.NET

VisualsOffset: double;

Описание

Свойство VisualsOffset определяет расстояние между визуализаторами разных типов, расположенными на одной линии на слое карты.

Комментарии

Для задания расстояния между визуализаторами разных типов необходимо, чтобы свойство IVZMapChartLayer.PlaceVisualsOneByOne принимало значение True.

Виды визуализаторов на карте:

Пример Fore

Для выполнения примера в репозитории предполагается наличие экспресс-отчета с идентификатором «EXPRESS», содержащего карту с круговыми и столбиковыми показателями.

Добавьте ссылки на системные сборки: Express, Metabase, Visualizators.

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Map: IVZMapChart;
    Layer: IVZMapChartLayer;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    // Получим карту
    Map := Express.MapChart.MapChart;
    // Получим слой на карте
    Layer := Map.RootLayer.SubLayers.Item(0);
    // Визуализаторы на карте будут располагаться на одной линии
    If Not Layer.PlaceVisualsOneByOne Then
        Layer.PlaceVisualsOneByOne := True;
    End If;
    // Расстояние между визуализаторами
    Layer.VisualsOffset := 10;
    // Обновим и сохраним отчет
    Express.RefreshAll;
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера визуализаторы на карте будут располагаться на одной линии, расстояние между ними будет равно десяти пикселям.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Map: IVZMapChart;
    Layer: IVZMapChartLayer;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["Bars"].Edit() As IEaxAnalyzer;
    // Получим карту
    Map := Express.MapChart.MapChart;
    // Получим слой на карте
    Layer := Map.RootLayer.SubLayers.Item[0];
    // Визуализаторы на карте будут располагаться на одной линии
    If Not Layer.PlaceVisualsOneByOne Then
        Layer.PlaceVisualsOneByOne := True;
    End If;
    // Расстояние между визуализаторами
    Layer.VisualsOffset := 10;
    // Обновим и сохраним отчет
    Express.RefreshAll();
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IVZMapChartLayer