DrawLabelsInit method (Layer)

Инициализация процесса вывода пользовательской надписи.

Применяется к:

Layer

Синтаксис:

Visual Basic:

Function DrawLabelsInit(DrawHandle As Long, TypeId As Long) As ElementKeys

TypeId - ID типа типового символа (для примитивов = -1).

Описание:

Метод возвращает список ключей объектов, к которым подключены надписи и которые в данный момент видны на карте.

В случае неудачи возникает исключение с одним из следующих кодов:

Код

Описание

513

Слой не открыт. Операция проводится со слоем, который либо не загружен в карту, либо не открыт с помощью метода Open.

Пример:

Private Sub MapCtrl1_OnDrawUserLabels(ByVal DrawHandle As Long, ByVal LayerIndex As Long)
           
    Dim i As Long
    Dim els As ElementKeys
           
    'если к слою не подключены надписи, то выход из процедуры
    If MapCtrl1.Map.Layers.Item(LayerIndex).LabelsID = -1 Then Exit Sub

    'получение ключей объектов, для которых подключены надписи и которые видны на карте
    Set els = MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsInit(DrawHandle, -1)
           
    For i = 1 To els.Count
        'вместо стандартной надписи выводится ключ объекта (ID)
        MapCtrl1.Map.Layers.Item(LayerIndex).DrawElemIDLabel els.Item(i), Str(els.Item(i))           
    Next i
           
    MapCtrl1.Map.Layers.Item(LayerIndex).DrawLabelsClose
           
End Sub