SetTypeMinMaxScale property (Layer)

Устанавливает минимальный и максимальный масштабы отображения для всех объектов загруженного в карту слоя с заданным типом.

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

Layer

Синтаксис:

Visual Basic:

Sub SetTypeMinMaxScale(TypeID As Long, minScale As Double, maxScale As Double, flags As Long)

TypeID - ID типа.

minScale - минимальный масштаб отображения.

maxScale - максимальный масштаб отображения.

flags - зарезервирован, должен быть 0.

Описание:

Если значение масштаба равно -1, то данный масштаб исключается из анализа при отображении слоя на карте.

Заданные пределы читаются методами GetTypeMinScale и GetTypeMaxScale; пока пределы не заданы, они равны 0. Масштаб задается знаменателем M (1:M), как у методов SetMinScale и SetMaxScale.

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

Метод ничего не возвращает; flags должен быть 0.

Пример:

Visual Basic:

Sub Layer_SetTypeMinMaxScale
'Берем активный слой карты
Set L = Zulu.ActiveMapDoc.Layers.Active
S = "Тип 6: от 1:" & L.GetTypeMinScale(6) & " до 1:" & L.GetTypeMaxScale(6)
'Показывать участки только в масштабах от 1:1000 до 1:5000
L.SetTypeMinMaxScale 6, 1000, 5000, 0
S = S & vbCrLf & "стало: от 1:" & L.GetTypeMinScale(6) & " до 1:" & L.GetTypeMaxScale(6)
S = S & vbCrLf & "у режима 1 при этом: от 1:" & L.GetModeMinScale(6, 1)
MsgBox S
End Sub

Python:

import zulu

def Macro_Layer_SetTypeMinMaxScale():
    # Берем активный слой карты
    L = zulu.App.ActiveMapDoc.Layers.Active
    print("Тип 6: от 1:", L.GetTypeMinScale(6), "до 1:", L.GetTypeMaxScale(6))
    # Показывать участки только в масштабах от 1:1000 до 1:5000
    L.SetTypeMinMaxScale(6, 1000, 5000, 0)
    print("стало: от 1:", L.GetTypeMinScale(6), "до 1:", L.GetTypeMaxScale(6))
    print("у режима 1 при этом: от 1:", L.GetModeMinScale(6, 1))