GetTrackID (InMemoryLayer)

Возвращает ID линейного объекта, являющегося путем перемещения заданного объекта в памяти.

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

InMemoryLayer

Синтаксис:

Visual Basic:

Function GetTrackID(ElemID As Long) As Long

ElemID - ID объекта.

Описание:

Метод возвращает ID объекта содержащего полилинию, накапливающую точки перемещения заданного объекта с момента последнего вызова для этого объекта метода StartTracking. Если регистрация перемещений объекта не ведется, метод вернет -1.

Полилиния пути создается не в момент вызова StartTracking, а при первом перемещении объекта. Пока объект не перемещался, метод возвращает -1, хотя регистрация уже включена.

Методы объекта InMemoryLayer действуют только тогда, когда слой загружен в память, то есть установлено свойство InMemory объекта Layer.

Пример:

Visual Basic:

Sub InMemoryLayer_GetTrackID
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
'Методы слоя в памяти действуют только когда слой загружен в память
L.InMemory = True
Set IML = L.InMemoryLayer
'Включаем регистрацию пути
IML.StartTracking 1
'Пока объект не перемещался, путь еще не создан и метод вернет -1
MsgBox "ID пути: " & IML.GetTrackID(1)
End Sub

Python:

import zulu

def Macro_InMemoryLayer_GetTrackID():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    # Методы слоя в памяти действуют только когда слой загружен в память
    L.InMemory = True
    IML = L.InMemoryLayer
    # Включаем регистрацию пути
    IML.StartTracking(1)
    # Пока объект не перемещался, путь еще не создан и метод вернет -1
    print("ID пути:", IML.GetTrackID(1))