Text: String;
Text: string;
Свойство Text определяет подпись области.
Для вывода значения области в качестве подписи используйте адаптер данных:
В описании адаптера данных добавьте поле для работы с показателями карты типа IMapAreaVisual, например:
Public visual: IMapAreaVisual;
В процедуре работы с подписью области карты задайте значение данного поля.
Задайте адаптер данных для показателей карты.
Задайте подпись области с помощью адаптера данных.
Например:
Sub UserProc;
Var
M: IMap;
Layer: IMapLayer;
Shape: IMapTopobaseShape;
da: VisualDataAdapter;
Begin
M := UiMap1.Map;
Layer := M.Layers.FindByName("Regions");
Shape := Layer.Shapes.Item(0);
da := New VisualDataAdapter.Create;
Layer.Visuals.AddAreaVisual;
da.visual := Layer.Visuals.Item(0) As IMapAreaVisual;
da.visual.DataAdapter := da;
Shape.Text := (da.visual.DataAdapter As IMapDynamicDataAdapter).Data(shape.Id, 1);
End Sub UserProc;
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента UiMap с идентификатором «UiMap1» и компонента MapBox, содержащего загруженную карту и являющимся источником данных для компонента «UiMap1».
Sub UserProc;
Var
M: IMap;
Layer: IMapLayer;
Shape: IMapTopobaseShape;
Begin
M := UiMap1.Map;
Layer := M.Layers.FindByName("Regions");
Shape := Layer.Shapes.Item(0);
Shape.Text := "Регион";
Layer.TextVisible := True;
End Sub UserProc;
После выполнения примера, при нажатии на кнопку, на карте будет отображена подпись первой области: «Поволжье».
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Interop.Map;
…
Private Sub UserProc();
Var
M: IMap;
Layer: IMapLayer;
Shape: IMapTopobaseShape;
Begin
M := uiMapNet1.Map;
Layer := M.Layers.FindByName["Regions"];
Shape := Layer.Shapes.Item[0];
Shape.Text := "Регион";
Layer.TextVisible := True;
End Sub;
См. также: