GetLabelsID method (Layer)

Возвращает ID файла надписей (0 - *.L00, 1 - *.L01 и т.д.) слоя для заданного типа объектов.

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

Layer

Синтаксис:

Visual Basic:

Function GetLabelsID(Type) As Integer

Type - это либо ID (As Long) типа объектов, либо пользовательское название типа объектов (As String).

Описание:

Значение -1 указывает на то, что надписи к данному типу не подключены.

Пользовательское название типа учитывает регистр: название, написанное иначе, чем в структуре слоя, даёт -1.

Метод возвращает ID подключённого варианта надписей, то есть того, у которого свойство LabelLayer.Enable равно True. Подключить вариант к типу можно методом SetLabelsID.

Данный метод является устаревшим, так как в текущей версии системы к каждому типу можно подключить несколько вариантов надписей одновременно.

Для проверки состояния подключения бирок следует получить свойство LabelLayer.Enable.

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

Код

Описание

513

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

Пример:

Visual Basic:

Sub Layer_GetLabelsID
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
If L.LabelLayers.Count = 0 Then
  MsgBox "У слоя нет вариантов надписей"
  Exit Sub
End If
'Для каждого варианта надписей смотрим, подключен ли он к своему типу
S = "Варианты надписей слоя:"
For i = 0 To L.LabelLayers.Count - 1
  TypeID = L.LabelLayers.Item(i).TypeID
  S = S & vbCrLf & "тип " & TypeID & ": вариант " & L.LabelLayers.Item(i).Id & _
      ", подключен " & L.GetLabelsID(TypeID)
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_GetLabelsID():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    if L.LabelLayers.Count == 0:
        print("У слоя нет вариантов надписей")
        return
    # Для каждого варианта надписей смотрим, подключен ли он к своему типу
    print("Варианты надписей слоя:")
    for i in range(L.LabelLayers.Count):
        ll = L.LabelLayers.Item(i)
        print("тип", ll.TypeId, ": вариант", ll.Id, ", подключен", L.GetLabelsID(ll.TypeId))