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