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;
После выполнения примера, при нажатии на кнопку, на карте будет отображена подпись первой области: «Поволжье».
См. также: