Возвращает объект-карту, которому принадлежит слой.
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 SubPython:
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)