IMapLayer.TextDataAdapter

Синтаксис

TextDataAdapter: Object;

Описание

Свойство TextDataAdapter определяет источник данных для подписей слоя карты.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с наименованием «Button1», компонента UiMap с наименованием «UiMap1» и компонента MapBox. К компоненту UiMap1 должна быть подключена карта.

Class TextDataAdapter: Object, IMapDataAdapter

 

Public Str: String;

 

Function Get_Data(Attribute: Variant): Variant;

Var

shape: IMapTopobaseShape;

Begin

shape := Attribute As IMapTopobaseShape;

Return Str + shape.Name;

End Function Get_Data;

 

End Class TextDataAdapter;

 

Class TestForm: Form

 

Button1: Button;

UiMap1: UiMap;

MapBox1: MapBox;

 

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);

Var

Da: TextDataAdapter;

MapDa: IMapDataAdapter;

M: IMap;

mLayers: IMapLayers;

mLayer: IMapLayer;

mShapes: IMapTopobaseShapes;

mShape: IMapTopobaseShape;

i: integer;

Begin

Da := New TextDataAdapter.Create;

Da.Str := "Это ";

MapDa := Da As IMapDataAdapter;

M := UiMap1.Map;

mLayers := M.Layers;

mLayer := mLayers.FindByName("Regions");

mShapes := mLayer.Shapes;

For i := 0 To mShapes.Count - 1 Do

mShape := mShapes.Item(i);

Debug.WriteLine(MapDa.Data(mShape));

End For;

mLayer.TextDataAdapter := MapDa;

mLayer.TextVisible := True;

End Sub Button1OnClick;

 

End Class TestForm;

После выполнения примера будет определен источник подписей для слоя «Regions» на карте. Подписи всех областей слоя будут выведены в окно консоли.

См. также:

IMapLayer