IVZMapChart.Markers

Синтаксис Fore

Markers: IVZMapChartMarkers;

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

Markers: Prognoz.Platform.Interop.Visualizators.VZMapChartMarkers;

Описание

Свойство Markers определяет коллекцию маркеров геолокации карты.

Комментарии

Маркер геолокации  - это точка, привязанная к территории. Маркеры позволяют отображать на карте места, необходимые пользователю, например: расположение магазинов или станций метро.

Пример Fore

Для выполнения примера предполагается наличие формы, содержащей компоненты:

В качестве источника данных для компонента «UiErAnalyzer1» укажите экспресс-отчет с картой. Отчет содержит единственное измерение объектов геолокации и несколько маркеров геолокации.

Добавьте ссылки на системные сборки: Drawing, Visualizatrors.

Sub UserProc;
Var
    Express: IEaxAnalyzer;
    MapChart: IEaxMapChart;
    VisMapChart: IVZMapChart;
    Markers: IVZMapChartMarkers;
    Marker, MarkerAdd: IVZMapChartMarker;
    Color: IGxColor;
    ToolTipStyle: IVZToolTipStyle;
    Topo: IVZMapChartTopobase;
    MetaInfo: IVZMapChartTopobaseMetaInfo;
    LeftGeoItem, RightGeoItem: IVZMapChartTopobaseGeoItem;
Begin
     // Получим экспресс-отчет
    Express := UiErAnalyzer1.ErAnalyzer;
     // Получим карту в качестве визуализатора
    MapChart := Express.MapChart;
     VisMapChart := MapChart.MapChart;
     // Получим коллекцию маркеров геолокации
    Markers := VisMapChart.Markers;
     // Получим маркер геолокации
    Marker := Markers.Item(0);
     // Создадим новый маркер геолокации
    MarkerAdd := New VZMapChartMarker.Create;
     // Добавим созданный маркер в коллекцию
    Markers.Add(MarkerAdd);
     // Вставим указанный маркер во вторую позицию в коллекции
    Markers.InsertAt(2, MarkerAdd);
     // Изменим идентификатор маркера
    Marker.MarkerId := "GeoMarker";
     // Создадим новый стиль всплывающих подсказок
    ToolTipStyle := New VZToolTipStyle.Create;
     // Изменим цвет шрифта подсказок
    Color := New GxColor.CreateRGB(1200120);
     ToolTipStyle.FontColor := Color;
     // Применим стиль к всплывающим подсказкам маркера геолокации
    Marker.ToolTipStyle := ToolTipStyle;
     // Получим топооснову карты
    Topo := VisMapChart.Topobase;
     // Получим метаданные топоосновы
    MetaInfo := Topo.Meta;
     // Создадим новые координаты маркера и применим их
    LeftGeoItem := New VZMapChartTopobaseGeoItem.Create;
    LeftGeoItem.Longitude := 50;
    MetaInfo.GeoLeftBottom := LeftGeoItem;
    RightGeoItem := New VZMapChartTopobaseGeoItem.Create;
    RightGeoItem.Longitude := -50;
    MetaInfo.GeoRightTop := RightGeoItem;
    // Обновим карту
    MapChart.Refresh;
End Sub UserProc;

После выполнения примера:

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Visualizators;

Private Sub UserProc();
Var
     Express: IEaxAnalyzer;
     MapChart: IEaxMapChart;
     VisMapChart: IVZMapChart;
     Markers: IVZMapChartMarkers;
     Marker: IVZMapChartMarker;
     MarkerAdd: VZMapChartMarker = New VZMapChartMarkerClass();
     Color: GxColor = New GxColorClass_2();
     ToolTipStyle: VZToolTipStyle = New VZToolTipStyleClass();
     Topo: IVZMapChartTopobase;
     MetaInfo: IVZMapChartTopobaseMetaInfo;
     LeftGeoItem, RightGeoItem: VZMapChartTopobaseGeoItem = New VZMapChartTopobaseGeoItemClass();
Begin
     // Получим экспресс-отчет
    Express := UiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
     // Получим карту в качестве визуализатора
    MapChart := Express.MapChart;
     VisMapChart := MapChart.MapChart;
     // Получим коллекцию маркеров геолокации
    Markers := VisMapChart.Markers;
     // Получим маркер геолокации
    Marker := Markers.Item[0];
     // Добавим созданный маркер в коллекцию
    Markers.Add(MarkerAdd);
     // Вставим указанный маркер во вторую позицию в коллекции
    Markers.InsertAt(2, MarkerAdd);
     // Изменим идентификатор маркера
    Marker.MarkerId := "GeoMarker";
     // Изменим цвет шрифта подсказок
    Color.CreateRGB(1200120);
     ToolTipStyle.FontColor := Color;
     // Применим стиль к всплывающим подсказкам маркера геолокации
    Marker.ToolTipStyle := ToolTipStyle;
     // Получим топооснову карты
    Topo := VisMapChart.Topobase;
     // Получим метаданные топоосновы
    MetaInfo := Topo.Meta;
     // Применим новые координаты
    LeftGeoItem.Longitude := 50;
     MetaInfo.GeoLeftBottom := LeftGeoItem;
     RightGeoItem.Longitude := -50;
     MetaInfo.GeoRightTop := RightGeoItem;
     // Обновим карту
    MapChart.Refresh();
End Sub UserProc;

См. также:

IVZMapChart