Map property (Layer)

Возвращает объект-карту, которому принадлежит слой.

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

Layer

Синтаксис:

Visual Basic:

Property Map As MapDoc

read-only

Описание:

Свойство отдает ту самую карту, в которую слой загружен: сравнение с исходным объектом карты дает True, а не копию. Через него от слоя можно дойти до соседних слоев (Layers) и до остальных свойств карты.

У слоя, открытого самостоятельно методом Open, карты нет: свойство возвращает Nothing, исключения при этом не возникает - ответ стоит проверять.

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

Код

Описание

513

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

Пример:

Visual Basic:

Sub Layer_Map
'Берем активный слой карты
Set Doc = Zulu.ActiveMapDoc
Set L = Doc.Layers.Active
'От слоя возвращаемся к его карте и перебираем соседей
Set M = L.Map
S = "Слой " & L.Name & vbCrLf & "слоев на его карте: " & M.Layers.Count
For i = 1 To M.Layers.Count
  S = S & vbCrLf & i & ": " & M.Layers.Item(i).Name
Next
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_Map():
    # Берем активный слой карты
    doc = zulu.App.ActiveMapDoc
    L = doc.Layers.Active
    # От слоя возвращаемся к его карте и перебираем соседей
    M = L.Map
    print("Слой", L.Name)
    print("слоев на его карте:", M.Layers.Count)
    for i in range(1, M.Layers.Count + 1):
        print(i, ":", M.Layers.Item(i).Name)